插入排序演算法(4)

2021-09-22 20:23:12 字數 928 閱讀 4865

目錄

插入排序演算法原理

插入排序演算法的使用場景

插入排序演算法的實現

插入排序演算法的執行結果

在插入排序中,需要將取出的資料與其左邊的數字進行比較。就跟前面講的步驟一樣,如果左邊的數字更小,就不需要繼續比較,本輪操作到此結束,自然也不需要交換數字的位置。然而,如果取出的數字比左邊已歸位的數字都要小,就必須不停地比較大小,交換數字,直到它到達整個序列的最左邊為止。具體來說,就是第k輪需要比較k-1次。因此,在最糟糕的情況下,第2輪需要操作1次,第3輪操作2次……第n輪操作n-1次,所以時間複雜度和氣泡排序的一樣,都為o(n2)。和前面講的排序演算法一樣,輸入資料按從大到小的順序排列時就是最糟糕的情況。

//描述:插入排序演算法

//引數:@piarray 待排序的陣列資料

// @inum 陣列個數

//返回:無

排序演算法 4 希爾排序 插入排序

希爾排序法又稱縮小增量法。利用越有序,插排效率越大的特性,再進行插排之前進行預排序,讓數列盡可能的有序,希爾排序法的基本思想是 即對陣列元素依次進行分組插排,一般將增量選擇為d1 size 3 1,這個由經驗得出 下圖很好的闡述了希爾排序的思想,也有詳細排序過程 希爾排序 遞增 void shell...

4 插入排序

插入排序的效果就像將乙個陣列模擬成兩個陣列的在選擇 插入的過程。假設在下標 i 之前的是數都已經排好了順序 0 i 1 那麼此次需要找到 i 位置的數的正確位置 k 在尋找這個位置 k 的過程中,逐個比較 i 之前排好順序的陣列,先比較最大的 i 1 位置的數 因為有序,所以 i 以前的數,i 1 ...

4 插入排序

插入排序是把序列的第乙個值當做是有序的序列,把餘下的序列按照排序規則 公升序還是降序 插入到該序列中,當遍歷至序列尾部後,則形成有序序列。例如 6 5 4 3 2 把6當做是有序序列,把餘下的序列 5,4,3,2 按照公升序插入到有序序列 6 中。第一趟結果 5 6 4 3 2 有序序列為 5,6 ...