fork(2) download
  1. #include <stdio.h>
  2.  
  3.  
  4. int swap(short* a, short fst , short scnd){
  5. short temp = a[fst] ;
  6. a[fst] = a[scnd] ;
  7. a[scnd] = temp ;
  8.  
  9. return 0 ;
  10. }
  11.  
  12.  
  13.  
  14. int div(short* a ,short p,short middle ,short r){
  15.  
  16. while( p < r ){
  17.  
  18. if( p < middle ){
  19. if( a[p] > a[middle] ){
  20. swap(a ,p ,middle) ;
  21.  
  22. }
  23. p++ ;
  24. }
  25. if( middle < r ){
  26. if( a[middle] > a[r] ){
  27. swap(a ,middle , r) ;
  28.  
  29. }
  30. r-- ;
  31. }
  32.  
  33. }
  34.  
  35. return 0 ;
  36. }
  37.  
  38.  
  39.  
  40. int fast(short* a , short p , short r){
  41. if( p < r){
  42. int middle = (p+r)/2 ;
  43. div(a, p, middle ,r ) ;
  44. fast(a, p ,middle-1 ) ;
  45. fast(a ,middle+1 ,r);
  46. }
  47. }
  48.  
  49.  
  50.  
  51.  
  52.  
  53. int main(){
  54. short n ,i ;
  55. scanf("%hd",&n);
  56. short a[n+1] ;
  57. for(i=1 ; i<=n ; i++ ){
  58. scanf("%hd",&a[i]);
  59. }
  60.  
  61. fast(a ,1 ,n ) ;
  62. i=1;
  63. while(i<=n){
  64. printf("%hd " , a[i]);
  65. i++ ;
  66. }
  67.  
  68. return 0 ;
  69. }
Success #stdin #stdout 0.01s 1680KB
stdin
10
10 9 8 7 6 5 4 3 2 1 
stdout
1 2 3 6 4 5 7 8 9 10