直接插入排序
直接插入排序:
是一种比较简单直观的排序算法,适用处理数据量比较少或者基本有序的数据。
算法思想:
每次将一个待排序的记录,按其关键字大小插入到前面已有序的子序列中合适位置,直到全部记录插入完为止。
不妨设设数组为 a[n]:
(1)初始时,a[0] 自成一个有序区间,无序元素为 a[1]...a[n]。
(2)将 a[i] 插入到有序序列 a[0]...a[i-1] 中合适位置,形成 a[0]...a[i] 的有序序列。
(3)重复第二步直到最后需插入的元素 a[n-1] 插入到前面的有序序列中合适位置,整个插入排序完成。
图形描述:
我们以待排序列 {48,62,35,77,55,14,35,98} 为例来看看直接插入排序的实现过程,其中大括号内是已经有序的子序列,大括号中紫色字体标识的元素是子序列中最后插入的元素。
- {48} 62 35 77 55 14 35 98
- {48 62} 35 77 55 14 35