题目
桶排序
思路
萝卜找坑。
先找出最大数和最小数
然后创建一组‘桶’
然后遍历数组,把每个元素放到对应的桶上,并计数
最后读出桶的序号就是排序结果
代码
def count_sort(list):
max,min = list[0],list[0]
for i in range(len(list)):
if max < list[i]:
max = list[i]
if min > list[i]:
min = list[i]
count_nums = max - min +1
count = [0] * count_nums
for i in range(len(list)):
count[list[i] - min] = count[list[i] - min] +1
pos = 0
for i in range(len(count)):
for j in range(count[i]):
list[pos] = i + min
pos += 1
return list