// 计数排序
function countingSort(nums) {
let arr = [];
let max = Math.max(...nums);
let min = Math.min(...nums);
// 装桶
for (let i = 0, len = nums.length; i < len; i++) {
let temp = nums[i];
arr[temp] = arr[temp] + 1 || 1;
console.log(`装桶键为${temp}-值为${arr[temp]}----------`, arr);
}
let index = 0;
// 还原原数组
for (let i = min; i <= max; i++) {
while (arr[i] > 0) {
nums[index++] = i;
arr[i]--;
}
}
return nums;
}
console.log(countingSort([9, 0, 8, 9, 89, 76, 87, 67, 90]));