問3 未整列の配列a[i] (i=1, 2, ..., n) を、流れ図で示すアルゴリズムによって昇順に整列する。n = 6 でa[1]~a[6]の値がそれぞれ、21, 5, 53, 71, 3, 17の場合、流れ図に置いてa[j-1]とa[i]の値の入替えは何回行われるか。
ア 3
イ 6
ウ 8
エ 15
解説
ややこしい流れ図がありますが、ぶっちゃけた話が、21, 5, 53, 71, 3, 17の配列を隣の数字とちょこちょこ入れ替えて何回入れ替えるとソートが完了しますか?という問題です。それでは実際に並べ替えてみましょう。下の表の赤い所が数字を入れ替えたところです。
スタート |
21, 5, 53, 71, 3, 17 |
1回目 |
21, 5, 53, 3, 71, 17 |
2回目 |
21, 5, 3, 53, 71, 17 |
3回目 |
21, 3, 5, 53, 71, 17 |
4回目 |
3, 21, 5, 53, 71, 17 |
5回目 |
3, 21, 5, 53, 17, 71 |
6回目 |
3, 21, 5, 17, 53, 71 |
7回目 |
3, 5, 21, 17, 53, 71 |
8回目 |
3, 5, 17, 21, 53, 71 |
というわけで正解はウの8回でした。
最終更新:2014年02月19日 23:27