快速排序原理

li = [12,1,13,8,16,2,6,11]                def ks(li,l,r)  l是开始索引,r 是结束索引
j,i
12  1  13  8  16  2  6                      取js = li[r]为11     j=l           for i in range(l,r)
j      i                                              当li[i]小于基数js时,li[i]和li[j]交换位置,并且j+=1
12  1  13  8  16  2  6                               大于              j不变,i继续遍历
      j     i
1  12  13  8  16  2  6                     遍历结束 li[j],li[r] = li[r],li[j],此时基数索引为j,或者 li.index(js)
      j         i
1  12  13  8  16  2  6
          j          i
1  8  13  12  16  2  6
          j               i
1  8  13  12  16  2  6
              j               i
1  8  2  12  16  13  6
                  j               i
1  8  2  6  16  13  12
---->此时i遍历结束,基数与li[j]互换,此时基数的索引为 j 或者 li.index(js)
                 j
1  8  2  6  11  13  12  16

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值