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

    }
}
相关推荐
Albert Edison1 小时前
【Python】学生管理系统
开发语言·数据库·python
追随者永远是胜利者3 小时前
(LeetCode-Hot100)253. 会议室 II
java·算法·leetcode·go
宇木灵4 小时前
C语言基础-十、文件操作
c语言·开发语言·学习
追随者永远是胜利者4 小时前
(LeetCode-Hot100)207. 课程表
java·算法·leetcode·go
云泽8085 小时前
C++ 多态入门:虚函数、重写、虚析构及 override/final 实战指南(附腾讯面试题)
开发语言·c++
yanghuashuiyue5 小时前
lambda+sealed+record
java·开发语言
每天吃饭的羊6 小时前
时间复杂度
数据结构·算法·排序算法
盟接之桥6 小时前
盟接之桥EDI软件:API数据采集模块深度解析,打造企业数据协同新引擎
java·运维·服务器·网络·数据库·人工智能·制造
yzx9910136 小时前
Python数据结构入门指南:从基础到实践
开发语言·数据结构·python
HoneyMoose6 小时前
Spring Boot 2.4 部署你的第一个 Spring Boot 应用需要的环境
java