代码:
#include <stdio.h>
#define MAX 100000
int A[MAX];
int partiton(int A[],int n,int p,int r)
{
int i=p-1;
int temp;
for(int j=p;j<r;j++)
{
if(A[j]<=A[r])
{
i++;
temp=A[j];A[j]=A[i]; A[i]=temp;
}
}
temp= A[i+1]; A[i+1]=A[r]; A[r]=temp;
return i+1;
}
void quick(int A[],int n,int p,int r )
{
int q;
if(p<r)
{
q=partiton(A,n,p,r);
quick(A,n,p,q-1);
quick(A,n,q+1,r);
}
}
int main( )
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&A[i]);
}
quick(A,n,0,n-1);
for(int i=0;i<n;i++)
printf("%d ",A[i]);
printf("\n");
return 0;
}