令和7年度 ITパスポート 問98 解説
4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は,何回実行されるか。ここで,最初はデータの並び全体を整列対象とする。
データの並び:[27,42,33,12]
〔手順〕
(1) 整列対象中の要素の最大の値を選び,最後の要素と入れ替える。
(2) 最後の要素を整列対象から外す。
(3) 整列対象に要素が1個以上残っていれば,(1)から(3)の一連の手順を実行する。残っていなければ,整列完了なので終了する。
- ア2
- イ3
- ウ4
- エ5
答えを見る
正解 ウ4
要点要素が1個残る限り繰り返すので4個のデータなら4回実行
解説
手順どおりに実行すると次のようになります。
- 1回目:対象[27,42,33,12]の最大42を最後の12と交換→[27,12,33,42]、42を外す
- 2回目:対象[27,12,33]の最大33は最後にあるのでそのまま、33を外す
- 3回目:対象[27,12]の最大27を12と交換→[12,27]、27を外す
- 4回目:対象[12]は1個残っているので実行し、12を外すと対象がなくなり終了
したがって、4回実行されるので、ウが正解です。(3)の条件が「1個以上残っていれば」なので、最後の1個でも実行する点がポイントです。