int partition(int a[], int low, int high)
{
int pivot = a[low];
int i = low;
int j = high;
while(i != j)
{
while(i < j && (a[j] >= pivot)) j--;
if(i < j) a[i++] = a[j];
while(i < j && (a[i] <= pivot)) i++;
if(i < j) a[j--] = a[i];
}
a[i] = pivot;
return i;
}
void quicksort(int a[], int left, int right)
{
if(left < right)
{
int p = partition(a, left, right);
quicksort(a, left, p-1);
quicksort(a, p+1, right);
}
}
快速排序
最新推荐文章于 2023-12-01 23:14:38 发布