int partion(int a[],int l, int r)
{
int record = a[r];
while (l != r)
{
while (a[l] <= record && l < r)
{
l++;
}
if (l < r)
{
a[r] = a[l];
r--;
}
while (a[r] >= record && l < r)
{
r--;
}
if (l < r)
{
a[l] = a[r];
l++;
}
}
a[l] = record;
return l;
}
void myqsort(int a[], int l, int r)
{
if (l >= r)return;
int pivot = (l + r) / 2;
swap(a[pivot], a[r]);
pivot = partion(a, l, r);
myqsort(a, l, pivot - 1);
myqsort(a, pivot + 1, r);
}
c++(填坑快排)
最新推荐文章于 2022-03-18 17:04:17 发布