fork download
  1. #include<stdio.h>
  2. #include <string.h>
  3.  
  4. int main(void)
  5. {
  6. int n,i,max;
  7.  
  8. scanf("%d",&n);
  9.  
  10. int arr[n];
  11.  
  12. for(i=0;i<n;i++) scanf("%d",&arr[i]);
  13.  
  14. max=arr[0];
  15.  
  16. for(i=1;i<n;i++){
  17. if(arr[i]>max) max=arr[i];
  18. }
  19.  
  20. int count[max+1],o[n];
  21.  
  22. //memset(count,0,(max+1)*sizeof(count[0]));
  23.  
  24. for(i=0;i<max+1;i++) count[i]=0;
  25.  
  26. for(i=0;i<n;i++) count[arr[i]]++;
  27.  
  28. for(i=1;i<max+1;i++) count[i]=count[i]+count[i-1];
  29.  
  30. for(i=0;i<n;i++){
  31. o[count[arr[i]]-1]=arr[i];
  32. count[arr[i]]--;
  33. }
  34.  
  35. for(i=0;i<n;i++) printf("%d ",o[i]);
  36.  
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0s 4192KB
stdin
4
1 4 6 5
stdout
1 4 5 6