如何理解快速排序

6fdf17cba6211e071d616b1987f01c5e71a.jpg

如图所示,

这是参考别的视频做出来的理解思路,我觉得这种办法我理解的最好,一下子就点透了,思路总结就是:

找一个空白位置 当做轴数字(一般就是第一个数字)的对比位置 则 轴数字位置就空出来了,依次按照

从后往前找一个比轴数字小的 塞入空白位置,此时空出来一个新的空白位置

从前往后找一个比轴数字大的 塞入空白位置,此时空出来一个新的空白位置

。。。

之后按照上边的两部,直到进行完毕,则轴数字塞入最后的空白位置,此时,数组被分割成两个新的数组,轴数字之前一个 轴数字之后一个!

按照上边的顺序再分别对两个新数组进行排序,还是按照 先找轴数字,留出空白,从后往前找比轴数字小的,从前往后找比轴数字大的。。。之后塞入轴数字的顺序进行,直到最后,排序完成!

 

转载于:https://my.oschina.net/rainwz/blog/3031458

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值