原理
快速排序的基本思想:
- 取分界值 (取左边值、取右边值、取中间值、随机)
- 调整分区 (边界值的左边小于等于边界值,边界值的右边大于等于边界值)
- 递归重复 步骤1 步骤2
代码模板
public static void quick_sort(int q[], int l, int r){
if (l >= r) return;
int i = l - 1;
int j = r + 1;
int x = q[(l+r)>>1];
while (i < j){
do i ++ ; while (q[i] < x);
do j -- ; while (q[j] > x);
if (i < j) {
int temp = q[i];
q[i] = q[j];
q[j] = temp;
}
}
quick_sort(q, l, j);
quick_sort(q, j + 1, r);
}