お題10 ソーティングネットワーク†
ショートコーディングというか,ネタ
※LET OVER LAMBDA に載ってたネタ.ふと思い出したので載せてみる.
内容†
入力を数値nとして,n要素の配列に対するソーティングネットワーク(の比較,交換するインデクスなど)を出力する.
Perlにアスキーアートで出力するライブラリがあるらしい(Algorithm-Networksort)
ソートするプログラムを出力するプログラムにするとかいうのもありかも.まぁ,遊んでみよう.
入力例1†
3
出力例1†
0 - 1 0 - 2 1 - 2
3要素の配列をa,値を比較して必要なら数値を入れ替える関数をcompareとすると,
compare(a[0],a[1]);compare(a[0],a[2]);compare(a[1],a[2]);
とするとソートが終了するということ.
入力例2†
3
出力例2†
0 - 2 0 - 1 1 - 2
交換する順によって効率が変わる.比較した際に交換する回数が少なくなる可能性が高いものの方が効率が良いということ,だと思う.





