ITパスポート試験
令和8年 第67問
問67
手続 sort は、要素数が2以上の整数型の配列を引数 numberArray で受け取り、その要素を昇順に並べ替えた結果を出力する。手続 sort の動作確認のために、処理の途中でjの値と workArray の全ての要素を出力する。配列 numberArray を{3、5、1、2、4}とし、手続 sort を sort(numberArray) として呼び出したとき、jの値が3と出力された直後の workArray の全ての要素の出力はどれか。ここで、配列の要素番号は1から始まる。

| 1,2,3,4,5 | |
| 1,2,3,5,4 | |
| 4,5,3,2,1 | |
| 5,4,3,2,1 |
(令和8年 ITパスポート試験 第67問 テクノロジ系/アルゴリズムとプログラミング)
解説
(イ)1,2,3,5,4
この問題の正解率:0%(かなり低い)
この問題の正解率:0%(かなり低い)
この手続は、未整列部分から最小値を探して先頭側へ入れ替える選択ソートです。初期値は3,5,1,2,4です。j=1で1を先頭に移して1,5,3,2,4、j=2で2を2番目に移して1,2,3,5,4になります。j=3では3がそのまま最小なので、出力は1,2,3,5,4です。
- (ア)1,2,3,4,5 は、全て整列後の結果です。j=3直後はまだ4と5が入れ替わっていません。
- (イ)1,2,3,5,4 は、j=3が出力された直後のworkArrayの状態です。→ これが正解です。
- (ウ)4,5,3,2,1 は、昇順に整列していく途中状態ではありません。
- (エ)5,4,3,2,1 は、降順のような並びであり、この手続の途中状態ではありません。

【間違いやすいポイント】
問われているのは最終結果ではなく、jの値が3と出力された直後の状態です。途中経過を1回ずつ追いましょう。
選択中のリスト
令和8年過去問一覧
