细说插入排序及其两种实现方式

141 阅读1分钟

插入排序:一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。 插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。通俗点说,就是将一条记录插入到排好序的有序表中,并且保证插入后仍有序,将目标插入位置之后的所有记录整体向后移一位,然后把要插入的记录插入到目标位置完成排序。 举例:数组23,34,1,100,16

外循环遍历过程中,数据记录变化如下:

1. 起始顺序,已排序:23  待排序:34,1,100,16

2. 插排34,排序完成:23,34  待排序:1,100,16

3. 插排1,排序完成:1,23,34  待排序:100,16

4. 插排100,排序完成:1,23,34,100  待排序:16

5. 插排16,排序完成:1,16,23,34,100

总体来说,可将插入排序分为三个步骤:

找到目标位置

将目标位置及之后的记录后移一位

将要插入的记录放到目标位置

插入排序1:严格遵守上述三步骤

插入排序2:在寻找目标位置的同时,将目标位置之后的记录后移

效率比对:

使用50万条随机数据,测试结果如下:

可见,方式2的效率远高于1。