1. 程式人生 > >經典排序演算法 - 氣泡排序Bubble Sort

經典排序演算法 - 氣泡排序Bubble Sort

最近學習了一下排序演算法,寫篇文章記錄一下,詳細講解網上有很多,可以自己去查

氣泡排序Bubble Sort

氣泡排序是通過兩兩比較,最大的往後移,重複這一過程直到資料不再交換,則排序完成。氣泡排序的時間複雜度是O(n²),是穩定排序。

演算法描述(Java):

import java.util.Arrays;

public class SortAlgorithm {
    public static void bubbleSort(int[] array) {
        boolean flag = true;
        for (int i = 1; i < array.length; ++i) {
            for (int j = 1; j < array.length; ++j) {
                if (array[j - 1] > array[j]) {
                    array[j - 1] = array[j - 1] ^ array[j];
                    array[j] = array[j - 1] ^ array[j];
                    array[j - 1] = array[j - 1] ^ array[j];
                    flag = false;
                }
            }
            if (flag == true)
                break;
            flag = true;
        }
    }

    public static void main(String[] args) {
        int[] array = { 18, 8, 22, 37, 5, 25, 11, 8, 30 };
        bubbleSort(array);
        System.out.println(Arrays.toString(array));
    }
}