Java算法----冒泡排序法

在開發中,對一組數據進行有序地排列是經常需要做的事情,所以掌握幾種甚至更多的排序算法是絕對有必要的
本文章介紹的是排序算法中較簡單的一種算法:冒泡排序

什麼是冒泡排序呢?

你可以這樣理解:(從小到大排序)存在10個不同大小的氣泡,由底至上地把較少的氣泡逐步地向上升,這樣經過遍歷一次後,最小的氣泡就會被上升到頂(下標爲0),然後再從底至上地這樣升,循環直至十個氣泡大小有序。
在冒泡排序中,最重要的思想是兩兩比較,將兩者較少的升上去
冒泡排序最壞情況的時間複雜度是O(n²)
排序代碼如下:

public class BubbleSort{
    public void sort(int[] a){
        int temp = 0;
        //循環數組長度-1次
        for (int i = a.length - 1; i > 0; --i){
            //每次循環執行比較數組長度-1-循環次數
            for (int j = 0; j < i; ++j){
                //如果後面的小於前面的,則交換位置
                if (a[j + 1] < a[j]){
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
    }
}
發佈了30 篇原創文章 · 獲贊 22 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章