過去問ぽちぽちby KKM Studio

令和8年度 ITパスポート 問67 解説

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

令和8年度 問67 図1
  1. ア1,2,3,4,5
  2. イ1,2,3,5,4
  3. ウ4,5,3,2,1
  4. エ5,4,3,2,1
答えを見る

正解 イ1,2,3,5,4

要点選択ソートは未整列部分の最小値を先頭と交換していく

解説

このプログラムは選択ソートで、j番目以降の最小値をj番目と入れ替えます。{3,5,1,2,4}で追跡します。

  • j=1:3,5,1,2,4 の最小値1(要素番号3)と1番目を交換 → 1,5,3,2,4
  • j=2:5,3,2,4 の最小値2(要素番号4)と2番目を交換 → 1,2,3,5,4
  • j=3:3,5,4 の最小値3(要素番号3)は自分自身なので変化なし → 1,2,3,5,4

よってj=3の直後の出力は1,2,3,5,4で、イが正解です。

  • ア(1,2,3,4,5)はj=4の後の出力なので誤り。
  • ウ、エは降順に近い並びで、昇順に並べ替える処理では現れないので誤り。
App

スキマ時間に、1問ずつ。
アプリ「ITパスポート 過去問ぽちぽち」

全問を正答・解説つきで収録。毎日の10問に、忘れた頃の復習が自然に混ざります。広告なし・買い切り。

App Store近日公開Google Play近日公開