The jonki

呼ばれて飛び出てじょじょじょじょーんき

【アルゴリズム】数え上げソート

久しぶりにこういったベタベタなのを読んでいます。

アルゴリズムクイックリファレンス

アルゴリズムクイックリファレンス



もしデータが有限集合で十分に小さければ数え上げソートが強いですね。他のソートと違って考え方が面白いです。頭の固い自分には思いつかない考え方…

Pythonの文法をすっかり忘れたのでコードはあまり気にしないで欲しい。

出力結果

$ python kazoeage.py
3 1 3 9 7 5 6 5 3 2 4 5 6 3 6 8 9 3 4 2 3 4 5 9 1 2 3 4 7 8 5 6
1 1 2 2 2 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 7 7 8 8 9 9 9

ソースコード
data = [3, 1,3,9,7,5,6,5,3,2,4,5,6,3,6,8,9, 3, 4, 2, 3, 4, 5,9,1,2,3,4,7,8,5,6]
sorted_data = [0] * 10

for v in data:
        print v,

print

for v in data:
        sorted_data[v] = sorted_data[v] + 1

count = 0
for i in sorted_data:
        for j in range(i):
                print count,
        count = count + 1