排序1之插入排序

2022-09-06 23:18:23 字數 400 閱讀 8544

插入排序,就像好多書上講的像抓牌時將剛抓的新牌插入手裡已經排好序的牌。a陣列像牌堆,b陣列像已經抓到我們手裡的牌

#include

#define n 10  //這裡是定義要排序的數目

int main()

b[j]=a[i];

}for(i=0;i插入排序很簡單,上面開了2個陣列,我們提出疑問是否可以只用乙個陣列,仔細想想剛才的排序過程,感覺b陣列可以不用的,來看下面的程式

#include

#define n 10

int main()

a[j]=temp;

}for(i=0;iprintf("%d ",a[i]);

return 0;

}哈哈、用了乙個自變數後,b陣列就可以不用了,節省了空間的開銷。

排序1 插入排序

讓我們開始排序的學習吧,首先我們先理解一下插入排序的基本思想 每一趟將乙個待排序的記錄,按其關鍵字的大小插入到已經排好序的一組記錄的適當位置上,知道所有待排序記錄全部插入為止。這個可能會和選擇排相似,但是那個是設定最大或最小,然後依次找到最大或最小插入到特定位置,而選擇依次比較後移或前移,不要混淆哦...

排序1 插入排序

排序1 插入排序 以從小到大排序為例 重點關注各種排序時間複雜度,空間複雜度,已經有序的時間空間複雜度,穩定性的對比 1.1原理 舉例說明更清晰 設原資料 5 9 4 7 2 移動後面資料 for int k i 1 k j k 插入資料 arr j tmp 1.3評價 時間複雜度 o n 2 空間...

排序演算法之插入排序1 直接插入排序

插入是排序中常用的演算法之一,也是每個程式設計人員必須掌握的排序演算法之一。直接插入法的時間複雜度為o n 2 空間複雜度為o 1 這是一種穩定的演算法,其效能與待排序序列的初始狀態有關。寫這篇文章是為了實現插入排序中的直接插入排序演算法。插入排序屬於比較排序,因此,文首先定義乙個比較器 templ...