程式設計基礎(虛擬碼追蹤)
陣列的元素編號從1開始。執行下列程式後,陣列 a 的內容為下列何者?
整數型陣列: a ← {5, 1, 4, 2, 3}
整數型: t ← a[1]
for (i 從 1 到 4 每次加 1)
a[i] ← a[i + 1]
endfor
a[5] ← t
- A{1, 4, 2, 3, 5}
- B{1, 4, 2, 3, 3}
- C{3, 5, 1, 4, 2}
查看答案與解析
正確答案:A. {1, 4, 2, 3, 5}
先把開頭的值5暫存到 t,再以 a[i] ← a[i + 1] 把各元素逐一往前移。i 由小往大前進,因此各值在被覆寫前依序往前移,成為 {1, 4, 2, 3, 3}。最後以 a[5] ← t 在末尾放入5,成為 {1, 4, 2, 3, 5}。這是把整體向左旋轉一個位置的處理。
- A. 正確。開頭的5移到末尾,其餘往前移。
- B. 這是沒有執行最後的 a[5] ← t 時的內容。
- C. 這是向右旋轉一個位置的內容。此處理是把元素往前移。