Pythonソートアルゴリズムのカウントソート
3871 ワード
目次概要 コード例 概要
コードの例
0 100, O(n)
, sorted
コードの例
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
0 100, O(n)
, sorted
"""
import random
def count_sort(ls, max_count=100):
"""
Args:
:param ls: list,
:param max_count: int,
"""
ltmp = [0 for _ in range(max_count + 1)]
for item in ls:
ltmp[item] += 1
ls.clear()
for index, item in enumerate(ltmp, start=0):
# item index
for _ in range(item):
ls.append(index)
ls = [random.randint(0, 100) for _ in range(100)]
random.shuffle(ls)
count_sort(ls)
print(ls)