資料結構 C語言實現排序演算法 氣泡排序

2021-10-25 09:19:34 字數 525 閱讀 3973

氣泡排序:基本思想就是資料的每一趟比較就會將最大(最小)的資料放到末尾,從而達到公升序(降序)的序列。又稱石沉大海法。

演算法實現步驟:

從起始位置比較和下乙個位置的大小

做交換,將大數(小數)置後

依次比較置換後的數和下乙個數進行比較,置換

第一趟會將最大(最小)的數沉底,做n趟迴圈後,資料就會排好

例項:如圖

綠色:正在比較的資料

黃色:已經排好的資料

}氣泡排序是一種很基礎的排序,實現不難。

特性總結:

時間複雜度:o(n^2)

空間複雜度:o(1)

穩定性:穩定

資料結構 C語言實現排序演算法 希爾排序

希爾排序 又稱 縮小增量排序 基本思想 先將待排序列分為若干個子串行分別進行直接插入排序,待整個序列 基本有序時 再對整個序列進行一次直接插入排序。圖例 由圖例可以看出 希爾排序是通過不斷的縮小增量來實現排序的方法。c 實現 void shellsort int arr,int left,int r...

資料結構 C語言實現排序演算法 堆排序

堆排序 利用堆這種資料結構所設計的一種排序演算法。大堆 根節點值大於子節點的值,對應為公升序序列。小堆 根節點值小於子節點的值,對應為降序序列。堆排序實現的兩個步驟 建立堆堆排序 下述例子是進行大堆建立 建立大堆 圖例 建立步驟 尋找最後乙個分支的根節點 記為pos pos挨個減小,對每個分支,都進...

資料結構 C語言實現快速排序演算法

先從數列中選取乙個數為基準數 把所有大於基準數的數放在基準數的右邊,小於基準數的放在左邊 對上面的數列以上個基準數為軸,分別對左右兩個數列再次遞迴呼叫函式選擇新的基準數繼續比較 include intquick int arry,int left,int right arry left arry l...