「chaos」的演算法 之直接插入排序略解

2021-09-21 23:28:14 字數 1230 閱讀 9995

排序是計算機程式設計中一種重要的操作,它的功能是將乙個資料元素(或記錄)的任意序列,重新排列成乙個按關鍵字有序的序列。

我們之前所熟知的大概是氣泡排序,選擇排序,但相對來說,這兩種方法的效率不是太高,在這篇文章中我簡單的介紹下直接插入排序。

直接插入排序是一種簡單的排序方法,它的基本操作是將乙個記錄插入到已排好的有序表中,從而得到乙個新的.記錄數增一的有序表。

例如:一直待排序的一組記錄的初始排列如下 所示:

r(49), r(38), r(97), r(76), r(13), r(27)……

假設在排序過程中,前4個記錄已按關鍵字遞增的次序重新排列,構成乙個含有4個記錄的有序序列:先要將上面的初始序列的第五個記錄插入到這個已拍好的記錄中,則首先要在一排好序中進行查詢以確定r(76)所應插入的位置,然後插入。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

voiddir_sort(sqlist l)

l.r[j+1] = l.r[0];

}

}

for(i = 1;i <= l.length; i++)

printf("%d ",l.r[i].data);

printf("\n");

}

演算法之直接插入排序

演算法之直接插入排序簡介 直接插入排序 基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。參考 直接插入排序 基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。author zhang public class directinse...

演算法之直接插入排序

直接插入排序 straight insertion sort 的做法是 每次從無序表中取出第乙個元素,把它插入到有序表的合適位置,使有序表仍然有序。第一趟比較前兩個數,然後把第二個數按大小插入到有序表中 第二趟把第三個資料與前兩個數從前向後掃瞄,把第三個數按大小插入到有序表中 依次進行下去,進行了 ...

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

直接插入排序 straight insertion sort 的基本思想 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子串行中的適當位置,直到全部記錄插入完成為止。設陣列為a 0 n 1 其中紅色區域為有序區域 1.初始時,a 0 自成1個有序區,無序區為a 1.n 1 a 0 a ...