PTA插入排序

4576321

插入排序就是从头到尾开始遍历,遍历到每个元素时,就和其前面的元素比较一下,如果比前面的小,就说明不是前面里的最大的元素,就一直往前找,直到找到首个不必它大的元素,就是它的相对最终位置。

就是从头开始组装成牌堆的过程,现有第一张牌,从第二种牌开始遍历,这样就可以保证遍历到的位置的前面的元素都是有序的,之后再遇到元素,就是在前面有序牌堆里找到它的位置。

i表示新来的第几张牌,j表示这个牌之前比较到的第几张牌,需要arr[j+1]=arr[j],表示对牌堆整体进行一个扩容,最后停止时,J指向最后一位的前一位或者首位比它小的元素,前者的情况是此时新入的为最小元素,就会一直往前,到j=1了还往前,就是前一位,此时不满j>=1,就退出了。

是先j--,后有判断,所以如果是一直往前的情况,即第一种情况时,j最后是一定会越界的,但是j+1会保证其为数组的第一位

A1+2+2+3+4+6+=17

B

8

94 32 40 90 80 46 21 69

8

21 32 46 40 80 69 90 94

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值