def bucket_sort(arr): """ 桶排序 :param arr: 待排序数组 :return: 排序后的数组 """ # 确定桶的数量和范围 max_num = max(arr) min_num = min(arr) bucket_num = (max_num - min_num) // len(arr) + 1

# 初始化桶
buckets = [[] for _ in range(bucket_num)]

# 将每个元素放入桶中
for num in arr:
    index = (num - min_num) // len(arr)
    buckets[index].append(num)

# 对每个桶进行排序
for i in range(bucket_num):
    buckets[i].sort()

# 将排好序的数字依次放入新的数组中
res = []
for bucket in buckets:
    res.extend(bucket)

return res
写一个桶排序代码

原文地址: https://www.cveoy.top/t/topic/zUY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录