如何理解快速排序

如何理解快速排序

如图所示,

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

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

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

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

。。。

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

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

 

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