Skip to content

Bucket Sort

janeluck edited this page Aug 3, 2019 · 1 revision

桶排序算法

给定一组数字,实现从小到大排序

/**
 * 使用桶排序0-10以内的数字
 * @param {*[]} originalArray
 * @return {*[]}
 */

function bucketSort(originalArray) {
  if (!Array.isArray(originalArray)) {
    throw Error('请输入数组');
  }
  const buckets = new Array(11).fill(0),
    result = [];
  originalArray.forEach(item => {
    buckets[item]++;
  });

  buckets.forEach((item, index) => {
    for (let i = 1; i <= item; i++) {
      result.push(index)
    }
  });

  return result
}

console.log(bucketSort([3,4,5,8,4,5,0,2,3]))
console.log(bucketSort([4,6,7,3,9,0,4,3,6,7]))
Clone this wiki locally