欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据结构与算法_快速排序

程序员文章站 2022-03-05 12:41:23
...
int partition(int *a, int left, int right)
{
	int i, j, temp;
	temp = a[right];
	i = left;
	for (j = left; j < right ; j++){
		if (a[j] < temp){
			swapint(a[j], a[i]);
			i++;
		}
	}
	//最终将基准数归位
	swapint(a[right], a[i]);
	return i;
}

void quick_sort(int *a, int n)
{
	quick_sort_c(a, 0, n - 1);
}


void quick_sort_c(int *a, int p, int r)
{
	if (p >= r)  
		return;
	int q;
	q = partition(a, p, r);
	quick_sort_c(a, p, q - 1);
	quick_sort_c(a, q + 1, r);
}

快速排序