Public paste
asdf
By: asdf | Date: Oct 25 2008 00:44 | Format: None | Expires: never | Size: 961 B | Hits: 1058

  1. #include <limits>
  2. #include <cmath>
  3. #include <string>
  4. #include "radix.h"
  5.  
  6. Rad::Rad()
  7. {
  8.   mem=0;        
  9.   rtok=1;        
  10.   o = 0;
  11.   cnt = new int[o];    
  12.   rtok=base;
  13.      
  14.      
  15. }
  16.  
  17.  
  18.  
  19. void Rad::radix(int* A[],int* B[])
  20. {
  21.  
  22.     for(j=0; j<n; j++)
  23.     {
  24.     A[j] = B[j];
  25.     }
  26.      
  27.      
  28.      
  29.       for(int i=0; i<k; i++ )
  30.       {
  31.               for(j=0; j<base; j++)
  32.               {
  33.               cnt[j]=0;
  34.               }
  35.               for(j=0; j<base; j++)
  36.               {
  37.               mem = A[j];
  38.               cnt[(mem/rtok)%base]++;
  39.               }
  40.               for(j=1; j<base; j++)
  41.               {
  42.               cnt[j] = cnt[j-1] + cnt[j];
  43.               }
  44.               for(j=n-1; j>=0; j--)
  45.               {
  46.               mem=A[j];
  47.               B[--cnt[(mem/rtok)%base]] = mem;
  48.               }
  49.               for(j=0; j<n; j++)
  50.               {
  51.               A[j] = B[j];
  52.               }
  53.       }
  54.  
  55. }