赞
踩
桶排序可以看做是计数排序的一种升级方式
桶排序是指将一组数据按照一定的区间进行分类,可以简单理解就是看第一位数子 把他们分类。
然后在每个桶内进行排序 此时你可以使用任意的排序方法
桶排序对数据有限制 如果不是同等位数的 数字的话 桶排序就没有太大的意义了
function BucketSort(arr) { let l = arr.length if (l <= 1) return arr let max = Math.max.apply(null, arr) let result = [] let buckets = new Array(l).fill([]) for (let i = 0; i < l; i++) { let BucketIndex = parseInt(arr[i].toString()[0]) buckets[BucketIndex].length == 0 ? buckets[BucketIndex] = [arr[i]] : buckets[BucketIndex].push(arr[i]) } buckets.forEach(e => { QuickSort(e, 0, e.length - 1) result = result.concat(e) }) return result } module.exports = BucketSort
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。