C語言排序算法:[2]教你理解插入排序。?

Tags: 語言, 算法, 排序,

插入排序是經常用到的一種排序算法,它的原理是什麼?如何實現,座標X為您一一解答。

方法/步驟

一、插入排序,顧名思義,每次插入都遍歷一次有序數列,找到新插入元素的位置,將其放入數列中即可。

C語言排序算法:[2]教你理解插入排序。

二、在插入排序中,我們假定給的無序數列為int a[6]={5,2,4,6,1,3}.

C語言排序算法:[2]教你理解插入排序。

三、算法的基本執行步驟1:第一個元素我們認為是有序的,因此選取第二個元素開始進行插入排序。

三、算法的基本執行步驟2:在已排序的(已有序)的元素中,從後向前掃描數列。

三、算法的基本執行步驟3:該元素(已排序的元素)大於1中取出的元素且已排序元素還未掃描完,則將該元素向後移一位。

三、算法的基本執行步驟4:直到找到取出元素的位置。

三、算法的基本執行步驟5:重複2至4的步驟,直到數列中的數字被全部遍歷。

C語言排序算法:[2]教你理解插入排序。

四、具體實現代碼如下:

C語言排序算法:[2]教你理解插入排序。

五、運行效果如下:總共執行了5次插入排序。

C語言排序算法:[2]教你理解插入排序。

六、效率分析,在最壞的情況下(數列逆序),比較次數和移動次數最多為n*n(-1)/2

C語言排序算法:[2]教你理解插入排序。

語言, 算法, 排序,
相關問題答案