問題
次のプログラムで、配列arrの要素を昇順にソートするためにmyFunc(arr)を呼び出すと、arrはどのような順序になるか。 ○ myFunc(整数型の配列: arr) for (i を 0 から arr の要素数−2 まで 1 ずつ増やす) for (j を 0 から arr の要素数−i−2 まで 1 ずつ増やす) if (arr[j] > arr[j+1]) 整数型: tmp ← arr[j] arr[j] ← arr[j+1] arr[j+1] ← tmp endif endfor endfor
選択肢
- 1ア 降順
- 2イ 昇順
- 3ウ 変化しない
- 4エ ランダム
解答と解説を見る
正解
2. イ 昇順
解説
これはバブルソートの典型的な実装です。隣り合う要素を比較し、大きい方が右に来るよう順次入れ替えることで、配列は昇順にソートされます。内側ループで1回ごとに最大値が末尾に移動し、外側ループで全体がソートされます。