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