1.原理图
2.代码
public class Test {
public static void main(String[] args) {
int[] list = {5,20,9,88,43,22,10};
bubbleSort(list);
}
public static void bubbleSort(int[] list) {
int temp = 0; // 用来交换的临时数
// 要遍历的次数
for (int i = 0; i < list.length - 1; i++) {
// 从后向前依次的比较相邻两个数的大小,遍历一次后,把数组中第i小的数放在第i个位置上
for (int j = list.length - 1; j > i; j--) {
// 比较相邻的元素,如果前面的数大于后面的数,则交换
if (list[j - 1] > list[j]) {
temp = list[j - 1];
list[j - 1] = list[j];
list[j] = temp;
}
}
System.out.format("第 %d 趟:\t", i);
for (int a : list){
System.out.print(a);
System.out.print(" ");
}
System.out.println();
// printAll(list);
}
}
}
3.总结
就是把从后向前比较相邻的两个数字,小的放前面