ITパスポート試験 令和7年度公開問題(全100問) トップへ
Part 4(問76〜100)

98

4個の要素から成るデータの並びを、次の手順を繰り返して昇順に整列するとき、整列が終了するまでに(1)から(3)の一連の手順は、何回実行されるか。ここで、最初はデータの並び全体を整列対象とする。 データの並び:[27, 42, 33, 12] 〔手順〕 (1) 整列対象中の要素の最大の値を選び、最後の要素と入れ替える。 (2) 最後の要素を整列対象から外す。 (3) 整列対象に要素が1個以上残っていれば、(1)から(3)の一連の手順を実行する。残っていなければ、整列完了なので終了する。

A2
B3
C4
D5

解説

この問題は選択ソートの手順が繰り返される回数を数える力を問うものである。手順は、整列対象の中から最大値を選んで最後の要素と入れ替え((1))、その最後の要素を対象から外し((2))、対象が1個以上残っていれば(1)〜(3)を繰り返す((3))というものである。データ[27,42,33,12]で開始する。1回目は最大の42を末尾の12と入れ替え、対象は[27,12,33]の3個になる。2回目は残り3個の最大33を末尾と入れ替え、対象は[27,12]の2個になる。3回目は残り2個の最大27を末尾の12と入れ替え、対象は[12]の1個になる。ここで手順(3)は「1個以上残っていれば実行する」と定めているため、対象が1個でも4回目を実行し、その1個を対象から外して残り0個となり整列が完了する。したがって(1)〜(3)は合計4回実行され、正解は「4」を示すウである。アの2回・イの3回は、最後に1個残った対象に対する4回目の実行を数え落とした誤りであり、エの5回は数え過ぎである。さらに詳しくはフローチャートとアルゴリズムで学べます。

次のアクション