從第一個數開始,經過兩兩比較,將最大的數放在最後。java
這是第一輪肯定了最後最大值的位置,以後再對前邊的數重複進行上述操做,依次肯定最終位置
結果如圖:
ide
public static void bubbleSort(int[] array) { for (int i = 0; i < array.length - 1; i++) { // 無序區間是 [0, arrya.length - i) boolean sorted = true; for (int j = 0; j < array.length - i - 1; j++) { if (array[j] > array[j + 1]) { swap(array, j, j + 1); sorted = false; } } if (sorted) { break; } } }