快速排序
一. 算法模板
基于分治做排序
void quick_sort(int ary[], int l, int r) {
if (l >= r) return;
int i = l - 1, j = r + 1, x = ary[l + r >> 1];
while(i < j) {
do i++; while(ary[i] < x);
do j--; while(ary[j] > x);
if (i < j) swap(ary[i], ary[j]);
}
quick_sort(ary, l, j);
quick_sort(ary, j + 1, r);
}