問題
次のプログラムでは、配列arrの値を先頭と末尾から交換して逆順にする。配列[1,2,3,4,5]を入力したときの結果はどれか。 整数型: n ← 5 整数型: left ← 0 整数型: right ← n − 1 while (left < right) 整数型: tmp ← arr[left] arr[left] ← arr[right] arr[right] ← tmp left ← left + 1 right ← right − 1 endwhile
選択肢
- 1ア [1,2,3,4,5]
- 2イ [5,4,3,2,1]
- 3ウ [5,1,3,2,4]
- 4エ [3,2,1,5,4]
解答と解説を見る
正解
2. イ [5,4,3,2,1]
解説
leftとrightを両端から中心に向かって動かし、値を交換します。①[5,2,3,4,1](0↔4)、②[5,4,3,2,1](1↔3)、③left=2,right=2でloop終了。結果は[5,4,3,2,1]で逆順になります。