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);
}
}
快速排序
最新推荐文章于 2024-10-21 23:35:01 发布
本文详细介绍了快速排序算法的实现原理及过程。通过递归的方式选择基准元素,并将数组分为两部分,使得一部分的所有元素都比另一部分小,进而达到排序的目的。
58万+

被折叠的 条评论
为什么被折叠?



