過去問解きまくり研究所 ホーム

アルゴリズムとプログラミング|令和7年度 ITパスポート試験 問98

4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は,何回実行されるか。ここで,最初はデータの並び全体を整列対象とする。

データの並び:[27, 42, 33, 12]

〔手順〕

- (1)整列対象中の要素の最大の値を選び,最後の要素と入れ替える。
- (2)最後の要素を整列対象から外す。
- (3)整列対象に要素が1個以上残っていれば,(1)から(3)の一連の手順を実行する。残っていなければ,整列完了なので終了する。

解説

残りが一個でももう一度回るので、繰り返しは四回になります。

手順は、対象の中の最大を最後と入れ替え、その最後を対象から外し、一個以上残っていればもう一度やり直す、というものです。一回目は四個が対象で、最大の四十二を最後へ送り、外します。二回目は三個が対象で、最大の三十三を最後へ送り、外します。三回目は二個が対象で、最大の二十七を最後へ送り、外します。ここで残りは一個ですが、一個以上残っていればという条件に当たるので、もう一度実行します。四回目でその一個を外し、残りが零になって終わります。よって四回です。このアルゴリズムでは、対象が空になるまで回り続けます。終わりを決める分岐の言葉づかいが答えを左右します。

ほかの選択肢はなぜ違うのか

この問題に関係する言葉

出典:令和7年度 ITパスポート試験 問98(改変:原典の図表をテキストに書き起こした)

この問題を演習で解く

同じ単元をまとめて解くならアルゴリズムとプログラミングへ。

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)