先說一下比較排序的定義吧:
就是除了賦值操作外, 只存在小於『』這兩種運算子是僅有的允許對
輸入資料進行的操作。
1排序陣列 5, 2, 4, 6, 1, 3 的過程:#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 }
排序演算法總結 插入排序
插入排序,顧名思義就是將乙個元素插入到適當的位置。其演算法核心是 1.將第乙個元素看做是個單獨的序列。顯然,只有乙個元素的序列肯定是有序序列。2.然後將和第二個元素做比較。如果第二個元素小,那麼就將第二個元素插入到第乙個元素前面,這樣我們就得到了乙個擁有兩個元素的有序序列。3.依次掃瞄剩餘元素,每掃...
排序演算法 二 插入排序
繼上篇 排序演算法 一 基礎篇 這篇部落格咱們聊聊插入排序 經常用的插入排序方法有直接插入排序,折半插入排序,表插入排序和希爾排序。這篇部落格咱們重點說一下直接插入排序 直接插入排序 straight insertion sorting 它是一種簡單的排序方法。基本思想 依次將每個記錄插入到乙個已經...
排序演算法 二 插入排序
概念 把陣列分成兩部分,一部分是有順序的,第二部分是沒有順序的,從沒有順序的陣列中拿出來乙個,把他排在有序陣列中的相應位置 時間複雜度最好 o n 原陣列已經是公升序的。最壞 o n 平均 o n 插入演算法 function insert sort arr else arr j 1 value v...