简单的桶排序,适用于正整数且上界不大的数组排序,原理是把数组的值当做bucket的下标,然后遍历一遍bucket,值大于0的对应的下标就已经自动排好序,该映射是线性的。时间复杂度为04-桶排序算法

桶排序代码

public static final int MAX = 1000;
public static void bucketSort(int[] array, int len){
    int[] bucket = new int[MAX]; //初始化为0
    for (int i = 0; i < len; i++){
        bucket[array[i]]++;
    }

    int j = 0;
    for (int i = 0; i < MAX; i++){
        while (bucket[i]-- > 0){
            array[j++] = i;
        }
    }
}

测试样例

  • 100 599 300 99 7
7 99 100 300 599 

----- end -----

 

相关文章:

  • 2021-08-24
  • 2021-05-02
  • 2021-10-16
  • 2021-10-01
  • 2022-02-19
  • 2022-12-23
猜你喜欢
  • 2021-11-16
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
  • 2021-08-30
相关资源
相似解决方案