System.out.println("改进的冒泡排序过程:");
boolean bool;
int i = 0;
do{
bool = false;
for (int j = 0; j < a.length - i - 1; j++) {
if(a[j] > a[j + 1]){
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
bool = true;
}
}
i ++;
System.out.print("第" + i + "步:");
printArray(a);
}while(bool == true && i < a.length);
System.out.println("改进的冒泡排序结果:");
printArray(a);
}
运行结果:
改进的冒泡排序过程:
第1步:1 4 2 5 6 8
第2步:1 2 4 5 6 8
第3步:1 2 4 5 6 8
改进的冒泡排序结果:
1 2 4 5 6 8
与之前算法对比可见效果。