快速排序

思想:分治

流程:分界+调整+递归

关键:调整

暴力遍历 for

a[],b[]

双指针 swap

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);
}

问题

边界处理

归并排序

思想:分治

流程:分界+递归+归并

关键:归并

双指针

合二为一

模板