令和7年度 ITパスポート試験 問98
テクノロジ/アルゴリズム4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は,何回実行されるか。ここで,最初はデータの並び全体を整列対象とする。 データの並び:[27,42,33,12] 〔手順〕 (1) 整列対象中の要素の最大の値を選び,最後の要素と入れ替える。 (2) 最後の要素を整列対象から外す。 (3) 整列対象に要素が1個以上残っていれば,(1)から(3)の一連の手順を実行する。残っていなければ,整列完了なので終了する。
出典:令和7年度 ITパスポート試験 問98
- ア2
- イ3
- ウ4
- エ5
正解:ウ
解説
手順を実際にたどります。1回目:整列対象[27,42,33,12]の最大は42で,最後の12と入れ替えて[27,12,33,42]。42を対象から外し,残りは3個。2回目:対象[27,12,33]の最大は33で,すでに最後なのでそのまま。33を外し,残りは2個。3回目:対象[27,12]の最大は27で,最後の12と入れ替えて[12,27]。27を外し,残りは1個。4回目:対象[12]の最大は12で,自分自身と入れ替えて外すと,残りは0個になり終了します。したがって手順は4回実行されます。
選択肢ごとの解説
- ア誤り。2回では,まだ整列対象に要素が残っています。
- イ誤り。3回目を終えた時点で対象に要素(12)が1個残っているので,もう一度手順を実行します。
- ウ正しい。1回目で42,2回目で33,3回目で27を外し,4回目で最後の12を外して終了するので4回です。
- エ誤り。要素が1個になった時点で手順を実行して終了するので,5回にはなりません。