快速排序

template<class T>
int Partition(T Array,int low,int high){
	T pivot=Array[low];
	while (low<high)
	{
		while(low<high && Array[high]>=pivot) 
			high--;
		Array[low]=Array[high];
		while(low<high && Array[low]<=pivot)
			low++;
		Array[high]=Array[low];
	}
	Array[low]=pivot;
	return low;
}
template<class T>
void QuickSort(T Array[],int low,int high){
	int povit_location;
	while (low<high)
	{
		povit_location=Partition(Array,low,high);
		QuickSort(Array,low,povit_location-1);
		QuickSort(Array,povit_location+1,high);
	}
}

你可能感兴趣的:(PIVOT)