思想:选取中心轴,将所有比中心轴小的放到左侧,比中心轴大放到右侧
#include<iostream>
#include<stdio.h>
using namespace std;
int arr[100000];
void quick(int q[],int l,int r)
{
if(l>=r)
return;
int x=q[l];
int i=l-1;
int j=r+1;
while(i<j)
{
do i++;
while(q[i]<x);
do j--;
while(q[j]>x);
if(i<j)
{
int t=q[i];
q[i]=q[j];
q[j]=t;
}
}
quick(q,l,j);
quick(q,j+1,r);
}
int main()
{
int n,i;
cin>>n;
for(i=0;i<n;i++)
{
cin>>arr[i];
}
quick(arr,0,n-1);
for(i=0;i<n;i++)
{
cout<<arr[i] ;
}
}