#include <stdio.h> #include <string.h> void Qsort(unsigned long x[], int left, int right); void swap(unsigned long x[],int i,int j); int main(void){ int n; scanf("%d",&n); int i; unsigned long a[n]; for(i=0;i<n;i++){ scanf("%ld",&a[i]); } Qsort(a,0,n-1); for(i=0;i<n;i++){ printf("%ld ",a[i]); } printf("\n"); return 0; } void Qsort(unsigned long x[], int left, int right){ int i,j; unsigned long pivot; i=left; j=right; pivot=x[(left+right)/2]; while(1){ while(x[i]<pivot) i++; while(pivot<x[j]) j--; if(i>=j) break; swap(x,i,j); i++; j--; } if(left<i-1) Qsort(x,left,i-1); if(j+1<right) Qsort(x,j+1,right); } void swap(unsigned long x[],int i,int j){ unsigned long temp; temp=x[i]; x[i]=x[j]; x[j]=temp; }