【发布时间】:2016-02-10 23:32:45
【问题描述】:
我在对数组进行排序时有一点疑问,是的,我是编程新手。以这段代码为例:
public void bubbleSort(int[] array) {
boolean swapped = true;
int j = 0;
int tmp;
while (swapped) {
swapped = false;
j++;
for (int i = 0; i < array.length - j; i++) {
if (array[i] > array[i + 1]) {
tmp = array[i];
array[i] = array[i + 1];
array[i + 1] = tmp;
swapped = true;
}
}
}
在上面的代码中,为什么我们必须使用j++和i < (array.length-j)作为测试表达式?我们本可以使用i < (array.length) 作为测试表达式,同时省略变量j。有答案吗?
【问题讨论】: