Loading

计算排序

计算排序的核心思想是:将待排序列的值作为新开辟数组的指针(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)

 

posted @ 2021-07-14 10:57  climber_dzw  阅读(73)  评论(0编辑  收藏  举报