排序算法整合(冒泡,快速,希尔,拓扑,归并)( 四 )

快速排序流程:

  1. 从数列中挑出一个基准值 。

  2. 将所有比基准值小的摆放在基准前面 , 所有比基准值大的摆在基准的后面(相同的数可以到任一边);在这个分区退出之后 , 该基准就处于数列的中间位置 。

  3. 递归地把\"基准值前面的子数列\"和\"基准值后面的子数列\"进行排序 。

  4. 图文介绍

代码实现:

/**
*
* 参数说明:
* a -- 待排序的数组
* l -- 数组的左边界(例如 , 从起始位置开始排序 , 则l=0)
* r -- 数组的右边界(例如 , 排序截至到数组末尾 , 则r=a.length-1)
*/
public static void quickSort(int[
a int l int r) {
if (l < r) {
int ijx;
i = l;
j = r;
x = a[i
;
while (i < j) {
while(i < j && a[j

推荐阅读