冒泡排序

代碼如下:

​​​​​​​public static void bubbleSort(int[] a, int n){
    if (n < 1) {
        return;
    }
    for ( int i = 0; i < n; i++ ) {
        boolean flag = false;
        for ( int j = 0; j < n - i - 1; j++ ) {
            if (a[j] > a[j+1]) {
                int temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
                flag = true;
            }
        }
        if (!flag) {
            break;
        }
    }
}

冒泡排序是一種原地、穩定排序算法。

最好情況下,要排序的數據已經是有序的了,我們只需要進行一次冒泡操作,就可以結束了,所以最好情況時間複雜度是 O(n)。而最壞的情況是,要排序的數據剛好是倒序排列的,我們需要進行 n 次冒泡操作,所以最壞情況時間複雜度爲 O(n^2)。平均時間負責度是O(n^2)。

發佈了36 篇原創文章 · 獲贊 28 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章