【发布时间】:2013-02-25 12:06:00
【问题描述】:
有人可以解释一下冒泡排序中第二个 for 循环的确切用途吗?我知道第一个循环正在查看数组的第 i 个整数,但第二个 for 循环查看的到底是什么?
请原谅我对这个话题的无知。我已经编写了不到一周的代码,对这个主题有些困惑。
void sort(int array[], int size) {
for(int i = 0, x = size - 1; i < x; i++) {
for(int j = 0; j < x - 1; j++) {
if(array[j] > array[j + 1]) {
int tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
}
【问题讨论】:
-
我想你的第一个循环也是错误的,因为你想实现
Bubble Sort,因为第一个循环告诉了排序列表所需的通过次数。在冒泡排序的情况下,它等于Total Number of elements - 1,因此如果我没记错的话,我拙见的 i 的值必须从 1 开始
标签: c arrays for-loop bubble-sort