令和7年度 ITパスポート 問98(テクノロジ)
出典:令和7年度 ITパスポート試験 公開問題 問98(独立行政法人情報処理推進機構(IPA))
4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は,何回実行されるか。ここで,最初はデータの並び全体を整列対象とする。
データの並び:[27,42,33,12]
〔手順〕
(1)整列対象中の要素の最大の値を選び,最後の要素と入れ替える。
(2)最後の要素を整列対象から外す。
(3)整列対象に要素が1個以上残っていれば,(1)から(3)の一連の手順を実行する。残っていなければ,整列完了なので終了する。
- ア2
- イ3
- ウ4
- エ5
正解と解説を見る
正解:ウ
【手順の意味】
この手順は、整列対象の中の最大値を末尾に移し、末尾を整列対象から外す、という操作を繰り返して、大きい値から順に後ろへ確定させていく並べ替え(選択ソート)です。
【トレース】
データの並びは [27, 42, 33, 12] で、最初は全体が整列対象です。
・1回目:対象 [27, 42, 33, 12] の最大値42と最後の12を入れ替えて [27, 12, 33, 42]。42を対象から外し、対象 [27, 12, 33] が残る
・2回目:対象 [27, 12, 33] の最大値33は最後の要素なので、入れ替えても変わらない。33を外し、対象 [27, 12] が残る
・3回目:対象 [27, 12] の最大値27と最後の12を入れ替えて [12, 27, 33, 42]。27を外し、対象 [12] が残る
・4回目:対象 [12] の最大値12は最後の要素なので変わらない。12を外し、対象に要素が残らないので終了
(1)から(3)の一連の手順は、4回実行されます。
【選択肢の検討】
イ:3回は、要素が1個だけ残った時点で終わると考えた場合の回数です。手順(3)では、要素が1個以上残っていれば手順を続けるので、最後の1個についても4回目が実行されます。
よって、正解は選択肢ウです。