冒泡排序法的代码
int n=0;
int temp = 0;
for (int i = a.length - 1; i > 0; --i) {
for (int j = 0; j < i; ++j) {
if (a[j + 1] < a[j]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
n++;
}
}
}
由于我是菜鸟,我写的是这样的
int n = 0;
int temp = 0;
for (int i = a.length - 1; i > 0; i--) {
for (int j = i - 1; j >= 0; j--) {
if (a[i] < a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
n++;
}
}
}
可是我打印出n的值发现冒泡的n值比我写的那个要大,
比如{2,6,4,7,0,1,3,4,5,8,9,0}
冒泡n==26
下面那个n==21。
很疑惑,为什么要前后两个两个比较,相比下面那种有什么优势