fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int a[100];
  5. void qs(int left,int right);
  6.  
  7. int main(void)
  8. {
  9. int i,n;
  10. scanf("%d",&n);
  11.  
  12. for(i=0;i<n;i++)
  13. {
  14. scanf("%d",&a[i]);
  15. }
  16.  
  17. qs(0,n-1);
  18.  
  19. for(i=0;i<n;i++)
  20. {
  21. printf("%d ",a[i]);
  22. }
  23.  
  24. return 0;
  25. }
  26. void qs(int left,int right)
  27. {
  28. int i,j,t,temp;
  29. i=left;
  30. j=right;
  31. temp=a[left];
  32. if(left>right)
  33. {
  34. return ;
  35. }
  36. while(i!=j)
  37. {
  38. while(a[j]>=temp && i<j)
  39. {
  40. j--;
  41. }
  42. while(a[i]<=temp && i<j)
  43. {
  44. i++;
  45. }
  46. if(i<j)
  47. {
  48. t=a[i];
  49. a[i]=a[j];
  50. a[j]=t;
  51. }
  52. }
  53.  
  54. a[left]=a[i];
  55. a[i]=temp;
  56. qs(i+1,right);
  57. qs(left,i-1);
  58. }
Success #stdin #stdout 0s 4352KB
stdin
4
1 4 2 8
stdout
1 2 4 8