問題
選択肢
- 1{2, 5, 1, 8, 9}
- 2{2, 5, 8, 1, 9}
- 3{1, 2, 5, 8, 9}
- 4{5, 2, 8, 1, 9}
正解
1. {2, 5, 1, 8, 9}
詳しい解説を見る解説を閉じる
解説
外側ループ1回目(i=1)では、内側ループがj=1から4まで動き、隣接要素を比較・交換する。初期状態{5,2,8,1,9}からトレースすると、j=1: 5>2で交換して{2,5,8,1,9}、j=2: 5≦8で交換なし、j=3: 8>1で交換して{2,5,1,8,9}、j=4: 8≦9で交換なし。よって1回目終了時は{2,5,1,8,9}で「{2, 5, 1, 8, 9}」が正解である。バブルソートは1パスごとに未確定部分の最大値が右端に沈む性質があり、ここでは最大値9が末尾に確定している。{2,5,8,1,9}はj=3の交換を見落とした値、{1,2,5,8,9}は全ループ終了後の完全に整列した状態、「{5, 2, 8, 1, 9}」は初期状態のままである。「指定された時点」の配列状態を問う出題では、どこまで処理が進んだかを慎重に区切ってトレースすることが重要である。
一問一答
科目A 180問+科目B 60問