#include<iostream>
using namespace std;
int part(int *a ,int l,int r)
{
int x=a[r];
int i=l-1;//比主元大的数的位置
for(int j=l;j<r;j++)
{
if(a[j]<=x)
{
i++;
swap(a[i],a[j]);
}
}
swap(a[i+1],a[r]);
return i+1;
}
void quicksort(int *a,int l,int r)
{
if(l<r)
{
int q=part(a,l,r);
quicksort(a,l,q-1);
quicksort(a,q+1,r);
}
}
int main()
{
int a[100];
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
quicksort(a,1,n);
for(int i=1;i<=n;i++)cout<<a[i]<<" ";
return 0;
}
快排
最新推荐文章于 2022-10-19 12:10:02 发布