图8-1内部排序的基本过程
8.2
插入排序
主要思路
不断地将待排序的数据元素插入到有序序列中,使有 序序列逐渐扩大,直至所有数据元素都插入到有序序 列。
直接插入排序和希尔排序
8.2
插入排序
1、直接插入排序
一种比较简单的排序方法
基本思想是依次将记录序列中的每一个记录插入到有 序序列中,使有序序列的长度不断地扩大。
第7趟
第 8趟
(10)
(55)
(10
(10
23
23
27
27
35
35
48
48
60
55
97)
60
55
97)
图8-3直接插入排序的基本过程
8.2
插入排序
2、希尔排序方法
又称为缩小增量排序
基本思路是将待排序的记录划分成几组,从而减少参 与直接插入排序的数据量,当经过几次分组排序后, 记录的排列已经基本有序,这个时候再对所有的记录 实施直接插入排序。
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
第 1趟 第 2趟 第 3趟 第 4趟 第 5趟 第 6趟 第 7趟
(82) (72) (86) (99) (98) (80) (90) (72 (72 (72 (72 (72 (72
72 82) 82 82 82 80 80
{ R1, R2, …, Rn }
关键字序列:{ K1, K2, …,Kn }
K p1 K p2 K pn
R
p1
, R p2 , , R pn
8.1
基本概念