Advertisement
Guest User

Untitled

a guest
Mar 17th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. void countSort(int arr[], int n, int exp)
  2. {
  3. int *output=new int[n];
  4. int i, count[10] = {0};
  5. for (i = 0; i < n; i++)
  6. count[ (arr[i]/exp)%10 ]++;
  7.  
  8. for (i = 1; i < 10; i++)
  9. count[i] += count[i - 1];
  10.  
  11. for (i = n - 1; i >= 0; i--)
  12. {
  13. output[count[ (arr[i]/exp)%10 ] - 1] = arr[i];
  14. count[ (arr[i]/exp)%10 ]--;
  15. }
  16.  
  17. for (i = 0; i < n; i++)
  18. arr[i] = output[i];
  19.  
  20. delete [] output;
  21. }
  22.  
  23. void radix_sort(int arr[], int n)
  24. {
  25. int m = max_array_value;
  26.  
  27. for (int exp = 1; m/exp > 0; exp *= 10)
  28. countSort(arr, n, exp);
  29. }
  30. void counting_sort(int A[],int n, int k)
  31. {
  32. int *B=new int[n];
  33. int *C=new int[k];
  34.  
  35. for(int i=0; i<k; i++) C[i]=0;
  36. for(int i=0;i<n;i++) C[A[i]]++;
  37. for(int i=1; i<k; i++) C[i]=C[i]+C[i-1];
  38. for(int i=n-1; i>=0; i--) {
  39. B[--C[A[i]]]=A[i];
  40. }
  41. for(int i=0; i<n; i++) A[i]=B[i];
  42. delete [] B;
  43. delete [] C;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement