桶排序(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;
            }
        }

    }
}
相关推荐
在未来等你1 分钟前
Java并发编程实战 Day 21:分布式并发控制
java·多线程·并发编程
程序员小假12 分钟前
你会不会使用 SpringBoot 整合 Flowable 快速实现工作流呢?
java·后端
CPETW12 分钟前
同旺科技 USB TO SPI / I2C适配器(专业版)--EEPROM读写——C
c语言·开发语言·科技·stm32·单片机·嵌入式硬件·电子
来自外太空的鱼-张小张13 分钟前
java将pdf文件转换为图片工具类
java·python·pdf
代码中の快捷键20 分钟前
如何实现一个登录功能?
java·开发语言
虾球xz22 分钟前
CppCon 2015 学习:C++ devirtualization in clang
开发语言·c++·学习
保持学习ing44 分钟前
微服务--消息队列mq
java·微服务·消息队列·rabbitmq·消息转换器
zimoyin1 小时前
Java/Kotlin selenium 无头浏览器 [Headless Chrome] 实现长截图 三种方式
java·selenium·kotlin
看到我,请让我去学习1 小时前
C++核心编程(动态类型转换,STL,Lanmda)
c语言·开发语言·c++·stl
yuluo_YX1 小时前
Spring AI Alibaba Graph 实践
java·人工智能·spring