C++ 快速排序

int partion(int a[],int low,int high)
{
	int key=a[low];
	while(low<high)
	{
		while (low<high&&key<a[high])
			high--;
		if(low<high)
		{
			a[low]=a[high];
			a[high]=key;
		}
		while (low<high&&key>a[low])
			low++;
		if(low<high)
		{
			a[high]=a[low];
			a[low]=key;
		}
	}
	return low;
}
void quick_sort(int a[],int low,int high)
{
	if(low<high)
	{
		int mid=partion(a,low,high);
		quick_sort(a,0,mid-1);
		quick_sort(a,mid+1,high);
	}
}


posted @ 2013-05-11 20:39  xinyuyuanm  阅读(352)  评论(0编辑  收藏  举报