#include <iostream>
using namespace std;
int n, a[1000001];
void sore(int* a, int size)
{
if (size == 1 || size == 0) return;
int t = a[0], x = 0;
int s = 0, l = size - 1;
while (s < l)
{
while (t <= a[l] && s < l) l--;
a[x] = a[l];
a[l] = t;
x = l;
while (t >= a[s] && s < l) s++;
a[x] = a[s];
a[s] = t;
x = s;
}
sore(a, x);
sore(a + x + 1, size - x - 1);
}
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
sore(a, n);
for (int i = 0; i < n; i++)
{
cout << a[i] << ' ';
}
cout << endl;
}
快速排序
最新推荐文章于 2021-07-24 23:27:25 发布