TYM042
插入排序
发布时间:2021-04-08
作者:yaming042
阅读量:- 次
本文字数:3.6k
阅读时长 ≈ 3 分钟
插入算法简单理解就是,打扑克的时候你拿到一张牌就会插入到对应的数后面,这个你拿着牌找插入位置的这个过程其实就是插入算法的过程。
这里也可以将待排序序列分为有序序列和无序序列
算法步骤
- 从第一个元素开始,假设第一个元素为有序序列
- 从第二个元素开始,依次遍历无序序列,将遍历数据n插入到有序序列合适的位置,这里就插入到有序序列中第一个小于n的数的后面。(我感觉其实就是拿无序序列中的第一个数,到有序序列中比较,然后插入到合适位置)
比如[1,2,4,5,3],当拿3比较时,
- 3先和5比,3比5小,那么此时5后面的一位换成5([1,2,4,5,5]),此时第一个5就 相当于 3,但并未赋值
- 3再和4比,3比4小,那么此时4后面的一位换成4([1,2,4,4,5]),此时第一个4就 相当于 3,但并未赋值
- 3再和2比,3比2大,那么此时不移动,只需要将2后面的一位赋值为3即可
过程如图
代码实现
1 | function insertSort(arr=[]){ |