原理:
基本思想:通过一趟数组遍历,使得一个数组以主元为中心划分成左右两部分,左边的部分都比主元小,右边的部分都比主元大,并依此在分别对左右部分递归操作。
emmm,如果是第一次接触分治法,或者第一次学快排,我建议看下这个老师的视频(3.2、3.3和3.4都看,3.2是讲解思路,3.3讲解单向遍历实现快排代码,3.4讲解双向遍历实现快排代码)
我就看的这个老师的,希望能帮到大家。。如果大家有时间和精力,还是建议大家看着视频去跟着敲代码,,我刚开始跟着敲,都运行不了!!发现即使你思路清晰了,自己动手也会有很多细节上的问题,,不断更改这些问题会加深你的理解
单向遍历:取左侧的值作为主元,使从第二个数开始遍历。
(1)如果这个数小于或等于主元,位置不动,指针+1继续扫描下一个数;