#include<iostream>
using namespace std;
int Partition(int a[], int p, int r)
{
int i = p, j = r + 1, s;
int x = a[p];
while (1)
{
while (a[++i] < x&&i < r);
while (a[--j]>x);
if (i >= j)
break;
s = a[i];
a[i] = a[j];
a[j] = s;
}
a[p] = a[j];
a[j] = x;
return j;
}
void QS(int a[], int p, int r)
{
if (p < r)
{
int q = Partition(a, p, r);
QS(a, p, q - 1);
QS(a, q + 1, r);
}
}
快速排序QS
最新推荐文章于 2020-07-31 14:10:03 发布