插入排序,就像好多書上講的像抓牌時將剛抓的新牌插入手裡已經排好序的牌。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...