简介
插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个形成一个有序表。在其实现过程使用双层循环,外层循环除第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动 。
时间复杂度
O(n^2)
思路分析
排序规则:从小到大
- 有两个表,一张表A中存已排序好的(有序),默认放数组第一个元素。另一张表B中放未排序的元素
- 每次从B表中取第一个元素放入A表合适的位置,B中所有数据取出来后即排序完成。
具体可参考代码注释。
代码实现
1 | java复制代码public class InsertSort { |
运行输出:
[1, 2, 3, 5, 9]
总结
该算法的核心其实就是拿B表中的第一个元素和A表中一个个比较,从A表中最后一个元素开始比较找到合适的位置放入,B表中的元素取完则排序完成。
本文转载自: 掘金