CodeIQ過去問集26:バブルソートの交換回数
本稿はCodeIQで2014年11月3日~12月15日に出題された コード銀行:バブルソートの交換回数 という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。
バブルソートの交換回数
【問題】
バブルソートのアルゴリズムを用いて整数値のリストを昇順にソートする際、実際に数値の入れ替えを行う回数を高速に計算してください。
たとえば、
[5, 1, 4, 3, 2]
というリストなら、
[1, 5, 4, 3, 2]
[1, 4, 5, 3, 2]
[1, 4, 3, 5, 2]
[1, 4, 3, 2, 5]
[1, 3, 4, 2, 5]
[1, 3, 2, 4, 5]
[1, 2, 3, 4, 5]
のように、計7回数値の入れ替えを行うことになります。
【入力・出力】
整数値のリストが改行区切りで書かれたファイルが与えられます。 ファイルから数値を読み込んで、バブルソート時の『交換回数』を標準出力に出力してください。 上記の例なら、『7』と出力してください。
【解答方法】
count_bubble_sort.zipをダウンロードしてください。 中には以下のファイルが含まれています。
- sample.in.txt, sample.out.txt
例で示したデータと、その解答です。
- case01.in.txt, case02.in.txt, case03.in.txt, case04.in.txt, case05.in.txt
これを入力として、正しい実行結果が得られるプログラムを書いてください。
(解答・解説は後日)