//插入排序 是把無序序列中元素依次插入到有序序列中,一般是從有序序列的尾部開始比較
void InsertSort(int buf[10],int bufsize)
{
int temp = 0; //用於備份當前待插入元素的值
int current_prev = 0; //備份待插入元素的下標
//1.可以假設把陣列中的第一個元素作為有序序列的元素,剩下的元素作為無序序列
for (int i = 1; i < bufsize; ++i)
{
//2.先備份當前待插入元素的值
temp = buf[i];
//3.把當前待插入元素和有序序列中的元素依次進行比較,從有序序列尾部開始
for (int j = i-1; j >= 0; j--)
{
//當前待插入元素的值 小於 待插入元素的直接前驅的元素的值
if (temp < buf[j])
{
current_prev = j; //備份當前待插入元素的直接前驅的下標
buf[j+1] = buf[j]; //後移
}
else
{
current_prev = j+1;
break;
}
}
//4.把待插入元素插入到指定位置
buf[current_prev] = temp;
}
}
插入排序
相關文章
- [java]插入排序及折半插入排序Java排序
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- 插入排序排序排序
- 03 插入排序排序
- python插入排序Python排序
- 數的插入排序排序
- 插入排序(PHP,C)排序PHP
- 排序之插入排序排序
- 連結串列-插入排序排序
- 插入排序以及優化排序優化
- 插入排序(Insertion Sort)排序
- 插入排序-by-Python排序Python
- 直接插入排序排序
- JavaScript實現:插入排序!!!JavaScript排序
- 【演算法】插入排序演算法排序
- 【筆記】折半插入排序筆記排序
- 【筆記】表插入排序筆記排序
- 插入排序java實現排序Java
- 用JavaScript實現插入排序JavaScript排序
- 常用演算法-插入排序演算法排序
- 排序專題 -- (1)插入排序排序
- 選擇排序和插入排序排序
- 插入排序(java機試題)排序Java
- 直接插入排序法排序
- 排序演算法——插入排序排序演算法
- 實時插入排序演算法排序演算法
- 排序演算法__折半插入排序排序演算法
- rust-algorithms:1-插入排序RustGo排序
- 插入排序就這麼簡單排序
- 【筆記】直接插入排序筆記排序
- 【筆記】2-路插入排序筆記排序
- 03-插入排序(python、oc)排序Python
- 排序(1)--插入排序和交換排序排序
- 查詢與排序04,插入排序排序
- java插入排序兼編碼注意Java排序
- 直接插入排序java描述排序Java
- 氣泡排序 插入排序 快排排序
- PHP 排序演算法之插入排序PHP排序演算法