桶排序(Java语言)

视频讲解地址:【手把手带你写十大排序】8.桶排序(Java语言)_哔哩哔哩_bilibili

代码:

java 复制代码
public class BucketSort {
    public void sortFunction(int[] array, int bucketNum) {
        int max = Integer.MIN_VALUE, min = Integer.MAX_VALUE;
        for (int i : array) {
            max = Math.max(max, i);
            min = Math.min(min, i);
        }
        List<List<Integer>> bucketList = new ArrayList<List<Integer>>();
        for (int i = 0; i < bucketNum; i++) {
            bucketList.add(new ArrayList<Integer>());
        }
        for (int i : array) {
            int bucketIndex = (i - min) * (bucketNum - 1) / (max - min);
            List<Integer> list = bucketList.get(bucketIndex);
            list.add(i);

        }
        for (int i = 0, arrIndex = 0; i < bucketList.size(); i++) {
            List<Integer> bucket = bucketList.get(i);
            Collections.sort(bucket);
            for (int num : bucket) {
                array[arrIndex++] = num;
            }
        }

    }
}
相关推荐
xlq2232235 分钟前
22.多态(上)
开发语言·c++·算法
666HZ66637 分钟前
C语言——高精度加法
c语言·开发语言·算法
代码or搬砖40 分钟前
MyBatisPlus讲解(二)
java·mybatis
星释1 小时前
Rust 练习册 100:音乐音阶生成器
开发语言·后端·rust
lcu1111 小时前
Java 学习42:抽象
java
Mr.朱鹏1 小时前
RocketMQ安装与部署指南
java·数据库·spring·oracle·maven·rocketmq·seata
雨中飘荡的记忆1 小时前
Spring表达式详解:SpEL从入门到实战
java·spring
Coder-coco1 小时前
个人健康管理|基于springboot+vue+个人健康管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·mysql·论文
5***26221 小时前
Spring Boot问题总结
java·spring boot·后端
风生u2 小时前
go进阶语法
开发语言·后端·golang