Radix sort - JavaScript

JavascriptWeb DevelopmentFront End TechnologyObject Oriented Programming

Radix Sort 

Radix sort is a sorting algorithm that sorts data with integer keys by grouping keys by the individual digits which share the same significant position and value.

We are required to write a JavaScript function that takes in an array of literals as the only argument. The function should sort the array in either increasing or decreasing order using the radix sort algorithm.

Example

Following is the code −

const arr = [45, 2, 56, 2, 5, 6, 34, 1, 56, 89, 33];
const radixSort = (arr = []) => {
   const base = 10;
   let divider = 1;
   let maxVal = Number.NEGATIVE_INFINITY;
   while (divider === 1 || divider <= maxVal) {
      const buckets = [...Array(10)].map(() => []);
      for (let val of arr) {
         buckets[Math.floor((val / divider) % base)].push(val);
         maxVal = val > maxVal ? val : maxVal;
      }
      arr = [].concat(...buckets);
      divider *= base;
   };
   return arr;
};
console.log(radixSort(arr));

Output

Following is the output on console −

[
   1, 2, 2, 5, 6,
   33, 34, 45, 56, 56,
   89
]
raja
Published on 11-Dec-2020 13:42:15
Advertisements