思想:分治
流程:分界+调整+递归
a[],b[]
i,j
void quick_sort(int q[], int l, int r)
{
if(l >= r) return;
int x = q[l + r >> 1], i = l - 1, j = r + 1;
while(i < j)
{
do i ++ ; while(q[i] < x); # 向后移动
do j -- ; while(q[j] > x); # 向前移动
if(i < j) swap(q[i],q[j]); # 停止移动、交换
}
quick_sort(q, l, j);
quick_sort(q, j + 1, r);
}
边界处理
思想:分治
流程:分界+递归+归并
合二为一