スターリンソートとは?
2019年ごろにネットに登場したソートアルゴリズムでジョークアルゴリズムです。
ソート前の配列を前から順番に見ていき、順序のおかしい要素を粛清して消すことによって、昇順(または降順)に並んだ配列が手に入るというものです。
O(N)という優れものです。
最近知って、DNCLで書いている人がいなかったので書いてみました。
DNCLとは?
共通テスト手順記述標準言語 (DNCL) の説明には次のように書かれています。
高等学校におけるアルゴリズムやプログラムに関する教育では,採用されるプログラミング言語は多様で,プログラミングの実習時間も異なります。大学入試センターではこのような事情を考慮し,「情報関係基礎」の出題にあたり,共通テスト用の手順記述言語 (DNCL) を使用します。
共通テストの「情報関連基礎」で使われる疑似言語です。
スターリンソートを書く
index
hairetsu ← {17,8,6,13,20,7,12,15,19}
kazu ← 9
sotogo ← {hairetsu[0]}
ok ← 1
i を 1 から kazu - 1 まで 1 ずつ増やしながら
| もしsotogo[ok - 1] <= hairetsu[i]ならば
| | sotogo[ok] ← hairetsu[i]
| | ok ← ok + 1
| を実行する
を繰り返す
sotogoを表示する
粛清を生き残った値のみがsotogoに入っています。