插入排序 直接插入排序

2021-09-25 18:57:52 字數 667 閱讀 6928

學習簡要筆記:直接插入排序的基本操作是向有序表中插入乙個記錄,在直接插入排序中,插入位置的確定是通過對有序表中關鍵碼的順序比較得到的。

排列順序:從小到大

#include

void directinsertsort();

int main()

directinsertsort(a,n);

int z=1;

for(z=1;z<=n;z++)

return 0;

}void directinsertsort(int a,int n)

{int i=0;

int j=0;

for(i=2;i<=n;i++)

{if(a[i]基本思想:

第一步:逐步比較每一趟是否需要進行插入操作——if(a[i]第二步:設定監測哨 a[0]=a[i];

第三步:將監測哨(待插入記錄值)逐個與前面記錄比較,如果監測哨小於前面的——a[0]第四步:將資料插入到合適位置。

時間複雜度:o(n2)。

執行結果:

插入排序 直接插入排序

直接插入排序演算法思想 將整個資料表分成左右兩個子表,其中左子表為有序表,右子表為無序表 整個排序過程就是將右子表中的元素逐個插入到左子表中,直到右子表為空,而左子表成為新的有序表。演算法過程分析 將待排序的元素存放在陣列r n 1 中,在初始狀態下,r 0 為監視哨,r 1 為有序區,r 2 r ...

插入排序 直接插入排序

一.插入排序的基本思想 將乙個記錄插入已排序好的有序表中,從而得到乙個新的記錄數加1的有序表。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。所謂的哨兵,就是即將插入的記錄。二.示例 如果碰見相等的元素,會被插到後面,所以,相等元素的前後順序沒有改變,插入排序是穩定的。三.演算法實現 public ...

插入排序 直接插入排序

直接插入排序的基本思想 將乙個記錄插入到已排序好的有序表中,然後得到乙個新記錄數增1的有序表。也就是 先將序列的第1個記錄看成是乙個有序的子串行,然後從第2個記錄逐個進行插入,直至整個序列有序為止。如果碰見乙個和插入元素相等的,那麼插入元素把想插入的元素放在相等元素的後面。所以,相等元素的前後順序沒...