排序演算法3 插入排序

2021-06-21 21:36:30 字數 666 閱讀 7088

插入排序(insertion sort)通過對未排序的元素逐個插入已排序的合適的位置而完成排序工作,其排序流程如下:

1.對陣列的前兩個元素進行排序。

2.將第三個元素和前兩個已經排好序的元素進行比較,並且插入到合適的位置。

3.和第二步同樣的方法對剩下的所有元素進行排序,最後便可得到按照從大到小的順序排好陣列中的各元素。

具體過程如下:

初始資料:23 33 15 12 53

一次排序:23 33 15 12 53 

二次排序:15 23 33 12 53

三次排序:1215 233353

四次排序:1215 233353

下面附詳細c語言源**:

#include#includevoid insertionsort(int *a,int len);

void main()

a[++j]=temp;

printf("%d次排序後:",i);

for(int k=0;k附執行截圖:

該程式在vc++6.0上編譯通過,執行正確,如果發現錯誤希望可以及時通知本人,大家一起學習。

排序演算法3 插入排序

該演算法維護乙個有序序列,然後把無序序列中的元素,在有序序列中從後往前進行掃瞄,找到位置後插入。從乙個元素開始,該元素可以認為已經被排序好的。在有序序列從後往前掃瞄的過程中,也要將已排序的元素逐個後移,為新插入的元素提供位置 插入排序 public class insertsort for int ...

排序演算法總結(3) 插入排序

插入排序是區域性有序的,陣列中有乙個元素被作為標記元素,標記元素的左側是有序的,右側是無序的,即標記元素是無序部分的第乙個元素。此時要求被標記元素出列,且和有序部分的第乙個元素進行比較,若標記元素小於有序部分的最大元素,則最大元素右移到標記元素的位置,標記元素和次大元素繼續比較,直到標記元素大於有序...

排序演算法 插入排序(3種)

1.直接插入排序 思想 利用有序表的插入操作進行排序 有序表的插入 將乙個記錄插入到已排好序的有序表中,從而得到乙個新的有序表 特點 穩定 空間代價 o 1 時間代價 o n 2 1 void insertsort int array,intn 2 16 此時j後面就是記錄i的正確位置,回填 17 ...