随笔记:插入排序 --from wcc

插入排序是一种简单直观的排序算法,它的工作原理是从右到左遍历未排序区域,取出一个元素,找到其在已排序区域的合适位置并插入。整个过程类似于玩扑克牌,不断将新拿到的牌插入到已排序的牌堆中。这种算法对于小规模或者部分有序的数据具有较高的效率。
摘要由CSDN通过智能技术生成

插入排序

插入排序( insertion sorting)是一种从序列左端开始依次对数据进行排序的算法。在排序过程中,左侧的数据陆续归位,而右侧留下的就是还未被排序的数据。插入排序的思路就是从右侧的未排序区域内取出一个数据,然后将它插入到已排序区域内合适的位置上。
在这里插入图片描述
思路:
1.默认从 i = 1 开始判断,这样 preIndex 自然是内部循环的游标;

2.current 保存 arr[i],通过循环来确定 current 的最终位置;

3.每个内循环开始的时候,arr[i] === current === arr[preIndex + 1],所以在内循环首次时 arr[preIndex + 1] = arr[preIndex] 的时候不必担心 arr[i] 的值丢失;

4.总体思路是,需要排位的元素先额外缓存起来,然后套用内循环,使得需要调整的元素赋值给它后面的一个位置上,形成依次挪位,
最后因为内循环在判断条件不生效的时候停止意味着找到了需要排位的元素的正确位置,然后赋值上去,完成排序

人类最伟大的地方就在于总能想出办法解决问题 --wcc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值