Skip to content

Instantly share code, notes, and snippets.

@ungarson
Created April 6, 2019 06:18
Show Gist options
  • Save ungarson/63fad5e3088a75581413cdb903b3d0c0 to your computer and use it in GitHub Desktop.
Save ungarson/63fad5e3088a75581413cdb903b3d0c0 to your computer and use it in GitHub Desktop.
Radix sort in javascript
function arrayConcatenating(...arrs) {
let newArr = [];
for (let i = 0; i < arrs.length; i++) {
newArr = newArr.concat(arrs[i]);
}
return newArr;
}
function arrayElementToString(elem) {
return elem + '';
}
function radixSort(arr, pos) {
let $0 = [];
let $1 = [];
let $2 = [];
let $3 = [];
let $4 = [];
let $5 = [];
let $6 = [];
let $7 = [];
let $8 = [];
let $9 = [];
for (let i = 0; i < arr.length; i++) {
switch (arrayElementToString(arr[i])[pos]) {
case '0':
$0.push(arr[i])
break;
case '1':
$1.push(arr[i])
break;
case '2':
$2.push(arr[i])
break;
case '3':
$3.push(arr[i])
break;
case '4':
$4.push(arr[i])
break;
case '5':
$5.push(arr[i])
break;
case '6':
$6.push(arr[i])
break;
case '7':
$7.push(arr[i])
break;
case '8':
$8.push(arr[i])
break;
case '9':
$9.push(arr[i])
break;
}
}
if (pos == 0)
return arrayConcatenating($0,$1,$2,$3,$4,$5,$6,$7,$8,$9);
return radixSort(arrayConcatenating($0,$1,$2,$3,$4,$5,$6,$7,$8,$9), pos - 1);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment