计算排序
计算排序的核心思想是:将待排序列的值作为新开辟数组的指针(index),新数组中index对应的值存储待排序列中值为index的个数。
作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。
算法步骤:
1.根据最大值max最小值min创建长度(max+1)的列表
2.新列表index为待排序列的值的位置,存入待排序列的值的个数
3.依据新列表进行排序
def count_(li, max_num): con = [0 for _ in range(max_num+1)] for i in li: con[i] += 1 li.clear() for val, num in enumerate(con): for x in range(num): li.append(val)