python桶排序代码


def bucketSort(nums):
    #选择一个最大的数
    max_num = max(nums)
    # 创建一个元素全是0的列表, 当做桶
    bucket = [0]*(max_num+1)
    # 把所有元素放入桶中, 即把对应元素个数加一
    for i in nums:
        print(f"{bucket=}")

        bucket[i] += 1
        # 存储排序好的元素
    sort_nums = []
    print(f"{bucket=}")
    for j in range(len(bucket)):
       n = bucket[j]
       if n != 0:
           for _ in range(n):
               print(f"{sort_nums=}{j=}")
               sort_nums.append(j)


    return sort_nums

nums = [5,6,3,2,1,65,2,0,8,0,9]
print("测试结果:")
print(bucketSort(nums))

猜你喜欢

转载自www.cnblogs.com/c-x-a/p/11031385.html