#include <bits/stdc++.h>
using namespace std;
void Partition(int a[],int low,int high)
{
int key = a[low];
a[0] = a[low];
while(low < high)
{
while(low < high&&a[high] >= key)
high--;
a[low] = a[high];
while(low < high && a[low] <= key)
low++;
a[high] = a[low];
}
a[low] = key;
}
int main()
{
int n;
while(cin>>n)
{
int i,a[100006];
for(i = 1;i <= n;i++)
{
cin>>a[i];
}
Partition(a,1,n);
cout<<a[1];
for(i = 2;i <= n;i++)
{
cout<<" "<<a[i];
}
cout<<endl;
}
return 0;
}
数据结构实验之排序一:一趟快排
最新推荐文章于 2020-11-04 19:31:11 发布