插入排序
是一种简单直观且稳定的排序算法
插入排序和我们抓扑克牌一样,开始时我们手里没有牌,每次从桌子上拿牌都插入在手中正确位置,我们会从左到右与没张牌进行比较。
插入排序原理:
1.把所有元素分为两组,已排序的和未排序的
2.找到为排序的组中的第一个元素,向已经排序的组中进行插入
3.倒序遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于待插入的元素,就把待插入的元素插入到这个元素的位置,其它元素后移一位
列如:
插入排序代码实现:
插入排序时间复杂度分析
高级排序
1.希尔排序
希尔排序是插入排序的一种,又叫 “缩小增量排序” ,是插入排序算法的一种更高效的版本
希尔排序原理:
希尔排序代码实现: