一、算法步骤(大体框架)
1).设待排序的记录存储在array[1...n]中,可以把第一个记录array[1]看作一个有序序列
2).依次将array[i=2,...,n]寻找合适的插入点(枚举搞定)插入已经排好序的序列array[1...i-1]中
二、举个肥肠简单的栗子
例如利用直接插入排序对序列{12,2,16,}进行排序
1).初始状态——把array[1]看作一个有序序列
0 | 1 | 2 | 3 |
12 | 2 | 16 | |
已经有序序列 |
2).将array[2]插入有序序列array[1],插入前先和前一个记录比较
- array[2]<array[1]——将array[2]暂存到array[0]中,array[1]后移一位
如表格:
0 | 1 | 2 | 3 |
2 | 12 | 16 | |