int[] intArray = new int[] {9,8,7,6,5,4,3,2,1};
int arrayLength = intArray.length;
// 排序的趟数,比数组长度小1
for (int i = 0; i < arrayLength - 1; i++) {
// 已排序i趟,则本次少比较i次
for (int j = 0; j < arrayLength - i - 1; j++) {
// 前面的数大,则与后面的数交换位置,保证最大的数在最后面
if (intArray[j] > intArray[j+1]){
int temp = intArray[j];
intArray[j] = intArray[j+1];
intArray[j+1] = temp;
}
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("第" + (i+1) + "之后: ");
for (int a: intArray) {
stringBuilder.append(a);
stringBuilder.append(' ');
}
System.out.println(stringBuilder);
结果:
第1趟之后: 8 7 6 5 4 3 2 1 9
第2趟之后: 7 6 5 4 3 2 1 8 9
第3趟之后: 6 5 4 3 2 1 7 8 9
第4趟之后: 5 4 3 2 1 6 7 8 9
第5趟之后: 4 3 2 1 5 6 7 8 9
第6趟之后: 3 2 1 4 5 6 7 8 9
第7趟之后: 2 1 3 4 5 6 7 8 9
第8趟之后: 1 2 3 4 5 6 7 8 9
本文详细介绍了冒泡排序算法的实现过程,通过一个具体的数组排序示例,展示了冒泡排序如何逐步将数组中的元素按升序排列。每完成一次排序,数组中最大的元素会被放置在正确的位置。
765

被折叠的 条评论
为什么被折叠?



