經典排序算法(1) - 冒泡排序Bubble Sort
阿新 • • 發佈:2018-09-22
中間 view tro 規模 static 最大的 rev 數組 代碼實現
冒泡排序(Bubble Sort)是一種簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。
運作步驟如下:
-
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
-
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
-
針對所有的元素重復以上的步驟,除了最後一個。
-
持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
Java代碼實現如下public static void bubbleSort(int[] numbers) { int temp; // 記錄臨時中間值 int size = numbers.length; // 數組大小 for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (numbers[j] > numbers[j + 1]) { // 交換兩數的位置 temp = numbers[j + 1]; numbers[j
冒泡排序最壞情況的時間復雜度是O(n2),是一種穩定排序算法排序冒泡排序適用於,規模較小的數組排序。
經典排序算法(1) - 冒泡排序Bubble Sort