Advertisement
Rakibul_Ahasan

Counting_Sort

Nov 11th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int coun[10000];
  5.  
  6. void count_sort(int A[],int n,int mx)
  7. {
  8.     int B[100],l;
  9.  
  10.     for(int i=0; i<n; i++){
  11.         ++coun[A[i]];
  12.     }
  13.  
  14.     for(int i=1; i<=mx; i++){
  15.         coun[i]=coun[i]+coun[i-1];
  16.     }
  17.  
  18.     for(int i=n-1; i>=0; i--){
  19.         ///l= --coun[A[i]];
  20.         ///B[l]=A[i];
  21.  
  22.          l = A [ i ] ;
  23.          B[coun[ l ] - 1] = l ;
  24.          coun[ l ] = coun[ l ] - 1;
  25.  
  26.         //B[--coun[A[i]]]=A[i];
  27.     }
  28.  
  29.     for(int i=0; i<n; i++){
  30.         A[i]=B[i];
  31.     }
  32.  
  33.     for(int i=0; i<n; i++){
  34.         cout<<A[i]<<" ";
  35.     }
  36. }
  37.  
  38. int main()
  39. {
  40.     int mx=0,n,A[100];
  41.     cin>>n;
  42.     for(int i=0; i<n; i++){
  43.         cin>>A[i];
  44.         mx=max(mx,A[i]);
  45.     }
  46.  
  47.     count_sort(A,n,mx);
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement