← 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}が出力される。