排序之------快速排序

void swap(int* a,int* b)
{
   int temp;
   temp=*a;
   *a=*b;
   *b=temp;
}
int Partition(int array[], int low, int high)
{
	int pivot = array[low];
	while (low < high)
	{
		while (low < high && array[high] >= pivot)
		{
			--high;
		}
		while (low < high && array[low] <= pivot)
	    { 
			++low;
		}
		swap(array[low], array[high]);
}
	return low;
}


void QuickSort(int array[], int low, int high)
{
   if (low < high)
   {
	   int n = Partition(array, low, high);
	   QuickSort(array, low, n);
	   QuickSort(array, n + 1, high);
   }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章