ITパスポート試験 令和5年度公開問題(全100問) トップへ
Part 3(問51〜75)

60

手続printArrayは,配列integerArrayの要素を並べ替えて出力する。手続printArrayを呼び出したときの出力はどれか。ここで,配列の要素番号は1から始まる。 【プログラム】 ○printArray()  整数型:n, m  整数型の配列:integerArray ← {2, 4, 1, 3}  for(nを1から(integerArrayの要素数-1)まで1ずつ増やす)   for(mを1から(integerArrayの要素数-n)まで1ずつ増やす)    if(integerArray[m] > integerArray[m+1])     integerArray[m]とintegerArray[m+1]の値を入れ替える    endif   endfor  endfor  integerArrayの全ての要素を先頭から順にコンマ区切りで出力する

A1, 2, 3, 4
B1, 2, 4, 3
C3, 1, 4, 2
D4, 3, 2, 1

解説

このプログラムはバブルソート(隣接する要素を比較して交換する整列アルゴリズム)を実装している。配列{2, 4, 1, 3}に対してバブルソートを適用すると、昇順に並べ替えられて{1, 2, 3, 4}が出力される。