数据结构--希尔排序(移动法)

上面是第二轮排序,第一轮看不出效果。

实际上这种方式的排序,理论上是分了2组来排序[3,1,0,9,9]和[5,6,8,4,2],实际上还是通过对一组数据进行遍历。

 当j=0的时候 就要和第3个元素进行比较,也就是3 和 1 进行比较,显然3 比1 大,然后就进行换位置。

当j=1 的情况也是一样进行比较。

重点是j=2的时候,也就是3 和0 进行比较,符合条件,进行交换。

此时循环条件 j = j -2  >= 0 符合条件继续遍历 此时 j=0 ,也就是1 和 0进行比较

 由此arr[j] 所在的元素和 arr[j+2] 进行比较大小后,如果后面还有元素的话,就要继续和后面的元素进行比较,其中循环的条件

j -= 2 就是起到这样的作用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值