1. 基本原理:
每次从无序表中取出最后一个元素,将其插入到有序表的合适位置,使有序表仍然有序。
- 第1趟插入:将第2个元素插入前面的有序子序列,此时前面只有一个元素,当然是有序的
- 第2趟比较:将第3个元素插入前面的有序子序列,前面的2个元素是有序的
- ......
- 第n-1趟比较:将第n个元素插入前面的有序子序列,前面n-1个元素是有序的
2. 代码实现
3. 复杂度分析
时间复杂度:
空间复杂度:,只需要一个额外空间进行交换。
稳定性:插入排序是稳定的排序算法,满足条件才发生交换,这个条件可以保证值相等的元素的相对位置不变。