计数排序:
首先生成一个全部都是0的列表count,遍历给定列表中的所有值,在count中对应的下标中的数加一,
将源列表清空用来接收新的排序。遍历count中的所有值和下标,将对应值的下标添加到新列表当中。排序结束。
def countingSort(li,max=100):
count = [0 for _ in range(max+1)] #生成一个100个0的列表
for value in li:
count[value] += 1
li.clear()
for index,value in enumerate(count):#此value非彼value
for i in range(value):
li.append(index)
import random
li = [12,12,34,12,4,12,56,6,8,54]
print(li)
countingSort(li)
print(li)