快速排序quick_sort

void swap(int a, int b)
{
		int c = a;
		a = b;
		b = c;


}

void quick_sort(int q[], int l, int r)//L从0开始
{
	if (l >= r)return;
	int i = l - 1, j = r + 1, x = q[l + r >>1 ];//指针每次先往前跳再判断,so i j 放在左右边界的左右侧
	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);
}

 快速排序

posted @ 2024-02-29 21:54  这就叫做C++  阅读(2)  评论(0编辑  收藏  举报