排序演算法總結 二 插入排序

2022-07-16 17:12:15 字數 589 閱讀 1292

先說一下比較排序的定義吧:

就是除了賦值操作外, 只存在小於『』這兩種運算子是僅有的允許對

輸入資料進行的操作。

1

#include

23 typedef int

elementtype;

4void insertionsort(elementtype a, int

n);5

6void main(void)7

;10 insertionsort(unordered, 5

);11

for(i = 0; i < 5; i++)

1215}16

17//

雙重迴圈,時間複雜度為t(n)=o(n^2)

18void insertionsort(elementtype a, int

n)19

30 a[j] =tmp;31}

32 }

排序陣列 5, 2, 4, 6, 1, 3 的過程:

排序演算法總結 插入排序

插入排序,顧名思義就是將乙個元素插入到適當的位置。其演算法核心是 1.將第乙個元素看做是個單獨的序列。顯然,只有乙個元素的序列肯定是有序序列。2.然後將和第二個元素做比較。如果第二個元素小,那麼就將第二個元素插入到第乙個元素前面,這樣我們就得到了乙個擁有兩個元素的有序序列。3.依次掃瞄剩餘元素,每掃...

排序演算法 二 插入排序

繼上篇 排序演算法 一 基礎篇 這篇部落格咱們聊聊插入排序 經常用的插入排序方法有直接插入排序,折半插入排序,表插入排序和希爾排序。這篇部落格咱們重點說一下直接插入排序 直接插入排序 straight insertion sorting 它是一種簡單的排序方法。基本思想 依次將每個記錄插入到乙個已經...

排序演算法 二 插入排序

概念 把陣列分成兩部分,一部分是有順序的,第二部分是沒有順序的,從沒有順序的陣列中拿出來乙個,把他排在有序陣列中的相應位置 時間複雜度最好 o n 原陣列已經是公升序的。最壞 o n 平均 o n 插入演算法 function insert sort arr else arr j 1 value v...