一、原理:
兩兩比較,第一次將最大值放到數組最後,第二次將第二大值放到數組倒數第二位置,循環往復
二、代碼實現
private void BubbleSort(int[] array) {
//i < arr.length-1是因爲排序的時候最後一個不用遍歷,因爲只有一個值
//外層遍歷第幾次代表最後找出了第幾大的數據,放在倒數第幾位
for(int i = 0; i < array.length-1; i++) {
Boolean flag = false;//該輪循環是否發生過換位
for(int j = 0; j < array.length-1-i; j++) {
if(array[j] > array[j+1]) {
int x = array[j];
array[j] = array[j+1];
array[j+1] = x;
flag = true;
}
}
//如果該輪循環未發生過換位,則代表已經排序完畢,停止遍歷
if(!flag) {
break;
}
}
System.out.println(Arrays.toString(array));
}
三、時間複雜度