插入排序
算法思想:假设第一个元素排好序,然后往后遍历元素,当前元素与已经排好的序中的元素比较。
如果不符合,就交换位置。
1 |
|
合并搜索和交换的实现
从第一个代码实现来看,先查找插入位置,最后,插入,这个有点啰嗦了。我们可以换一种更好的方式。
在比较的同时,交换元素。这样就避免了不必要的重复。
1 |
|
正统的实现???
1 |
|
折半插入排序
其实可以发现,我们可以采用二分法查找插入的位置,减少查询次数。
希尔排序
插入排序的升级版,主要是尽量使 集合 有序
- 明确增量是什么
- 每一趟排序,都采用插入排序
1 |
|