#include <stdio.h>
#include <string.h>
#define maxn 10000
void swap(int *i, int *j){
int t;
t = *i;
*i = *j;
*j = t;
}
int Partition(int A[], int p, int r){
int i, j, x;
x = A[r];
i = p - 1;
for(j = p; j <= r - 1;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 p, int r){
int q;
if(p < r){
q = Partition(A, p, r);
Quicksort(A, p, q - 1);
Quicksort(A, q + 1, r);
}
}
int main(){
int A[maxn], i, n;
printf("请输入数组个数\n");
scanf("%d",&n);
for (i = 1; i <= n; i++)
scanf("%d", &A[i]);
Quicksort(A, 1, n);
for (i = 1; i <= n; i++)
printf("%d ", A[i]);
printf("\n");
return 0;
}