'''
桶排序:
借助一维数组将需要排序的数分别放到相应的位置,然后按顺序输出,就是简单
的桶排序。

多少个数以内的就需要多少个桶,时间复杂度为 O(m+n)

实例:
对m以内的n个数进行桶排序

'''

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File    :   bucketSort.py    
@Contact :   jmjbox@163.com

@Modify Time      @Author    @Version    @Desciption
------------      -------    --------    -----------
2020/7/22 21:37   MJJ      1.0         None
'''

m = int(input("请输入需要排序多少以内的数:"))
bucket = [0 for x in range(m + 1)]
n = int(input("请输入需要排序的数的个数:"))
for i in range(n):
    index = int(input("请输入第个%d数"%(i+1)))
    bucket[index] +=1
    # print(bucket)
#从大到小
for a in range(m,0,-1):
    for b in range(bucket[a]):
        print(a,end=',')

#从小到大
print('')
for a in range(m+1):
    for b in range(bucket[a]):
        print(a,end=',')







 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐