快速排序的基本思想为分治法
分:是指将问题的规模分解为若干个小的模块,并且与原问题的性质一致。
这里我们可以将数组中R[low,...high]中任意挑选一个座位基准,记为keyValue,以此划分成两个较小的子区间R[low,keyValuePosition-1]和R[keyValuePosition+1,high],使左子区间的记录均小于等于右子区间的记录,右子区间的记录均大于等于基准记录。快排的关键是求出基准记录所在的位置keyValuePosition。
治:对左右区间均进行快速排序求解
具体过程:
设序列为R[low,high],从其中选第一个为基准,设为keyValue,然后设两个指针i和j,分别指向序列R[low,high]的起始和结束位置上:
1),将i逐渐增大,直到找到大于keyValue的关键字为止&#x