插入排序不是通过交换位置而是通过比较找到合适的位置插入元素来达到排序的目的的。
举个栗子,对5,3,8,6,4这个无序序列进行简单插入排序,首先假设第一个数的位置时正确的。然后3要插到5前面,把5后移一位,变成3,5,8,6,4。然后8不用动,6插在8前面,8后移一位,4插在5前面,从5开始都向后移一位。
注意在插入一个数的时候要保证这个数前面的数已经有序。
简单插入排序的时间复杂度也是O(n^2)。
1 | /** |
结果:
插入排序不是通过交换位置而是通过比较找到合适的位置插入元素来达到排序的目的的。
举个栗子,对5,3,8,6,4这个无序序列进行简单插入排序,首先假设第一个数的位置时正确的。然后3要插到5前面,把5后移一位,变成3,5,8,6,4。然后8不用动,6插在8前面,8后移一位,4插在5前面,从5开始都向后移一位。
注意在插入一个数的时候要保证这个数前面的数已经有序。
简单插入排序的时间复杂度也是O(n^2)。
1 | /** |
结果: