利用Object.keys()函数的性质实现快速计数排序,直接上代码:
function countingSort(arr){
let tmp = [];
let result = [];
let len = arr.length;
for(let i=0;i<len;i++){
if(!(tmp[arr[i]] > -1)){
tmp[arr[i]] = 1;
}else{
tmp[arr[i]]++;
}
}
let k = Object.keys(tmp);
for(let j=0;j<k.length;j++){
while(tmp[k[j]]--){
result.push(parseInt(k[j]));
}
}
return result;
}