JSFiddle - React, Tailwind, and code Playground
by Derek Anderson
JavaScript
//radix sort
//sort a list of numbers without comparison
function sort(inputArray){
var getMap = () => {return [[],[],[],[],[],[],[],[],[],[]]};
var map = getMap();
var iterations = Math.max.apply( Math, inputArray ).toString().length;
for(var iteration = 1; iteration <= iterations; iteration++) { // k
for(var itemIndex = 0; itemIndex < inputArray.length; itemIndex++) { // n
var item = inputArray[itemIndex];
var itemString = String(item);
var value = itemString.charAt(itemString.length - iteration) || 0;
map[value] = map[value] || [];
map[value].push(item);
}
inputArray = [].concat.apply([], map);
map = getMap();
}
return inputArray;
}
document.body.innerHTML = sort([155,78,8764,308,20,23,67,5,4,100,10023]);