閉じる

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

問67
note_alt
calculate

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

〔プログラム〕
67.png/image-size:505×532
  • 1,2,3,4,5
  • 1,2,3,5,4
  • 4,5,3,2,1
  • 5,4,3,2,1

分類 :

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング

正解 :

イ

解説 :

この処理は、未確定部分の最小値を探して先頭へ置く選択ソートです。初期配列3,5,1,2,4から、j=1では1と3を交換して1,5,3,2,4、j=2では2と5を交換して1,2,3,5,4になります。

j=3では残り3,5,4の最小値は先頭の3なので、配列は変わりません。したがって出力は1,2,3,5,4です。1,2,3,4,5は次の段階で4と5を入れ替えた後の状態です。

▲
Pagetop