Advertisement
rg443

LSB radix sort

Jan 30th, 2013
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // LSB radix sort
  2. function insert(arr, i, j)
  3. {
  4.   tmp = arr[i];
  5.   arr.splice(i, 1);
  6.   arr.splice(j, 0, tmp);
  7. }
  8.  
  9. //arguments to sort an array:
  10. //arr: array to be sorted
  11. function sort(arr)
  12. {
  13.   var bit, end, i, mask;
  14.   bit = 0;
  15.   while(true)
  16.   {
  17.     mask = 1 << bit;
  18.     i = 0;
  19.     end = arr.length;
  20.     while(i < end)
  21.     {
  22.       if(arr[i] & mask)
  23.       {
  24.         insert(arr, i, arr.length - 1);
  25.         end--;
  26.       }
  27.       else
  28.       {
  29.         i++;
  30.       }
  31.     }
  32.     bit++;
  33.     if(end === arr.length)
  34.     {
  35.       break;
  36.     }
  37.   }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement