计数排序python
计数排序(Counting sort),是一种 非比较 的排序算法,需要开辟一个新的至少 与待排序列表中最大数 大 的数组空间,并记录待排序列表中数字出现的次数,然后将这个次数作为键存储在新的数组空间中以达到排序的效果
def count_sort(li, max_num=100): # max_num至少要比列表li中最大的数大 count = [0 for _ in range(max_num+1)] # 新的数组空间 for val in li: # 记录列表li中的数出现的次数 count[val] += 1 # li中的数作为count的下标并记录出现次数 li.clear() # 清空原列表li for ind, var in enumerate(count): for i in range(var): # 次数 li.append(ind) # 将下标作为值存入到列表li中

浙公网安备 33010602011771号