Radix Sort

by aninaslyan

JavaScript

const radixSort = arr => {
  const maxNum = Math.max(...arr) * 10;
  console.log(maxNum)
  let divisor = 10;

  while (divisor < maxNum) {
    let buckets = [...Array(10)].map(() => []);

    for (let num of arr) {
      buckets[Math.floor((num % divisor) / (divisor / 10))].push(num);
    }

    arr = [].concat.apply([], buckets);
    divisor *= 10;
  }
  return arr;
};

console.log(radixSort([7,5,2,4,3,9]));