國家安全情報人員考試五等考試-資訊組計算機大意106 年第 17 題單選題
一個命名為q 的佇列(Queue)以可儲存7 個元素的環形陣列(Circular Array)來模擬,假設佇列產生後第一筆被存入(enqueue)的資料是存放於陣列索引值(index)為1 的位置(陣列索引值範圍為0 到 6),則執行以下程式片段後,陣列索引值為2 的位置儲存那一筆資料?(註:dequeue表示自佇列中移除一個物件)
for(k = 1; k <= 6; k++) {q.enqueue(k); }
for(k = 1; k <= 3; k++) {
q.dequeue();
q.enqueue(q.dequeue());
}
C正確答案
本題考查環形陣列實作佇列(Queue)的指標追蹤。依序模擬 enqueue 與 dequeue 動作,計算 rear 指標的移動,即可得出 index 2 最後被寫入的值為 6。
逐選項解析
A2✕ 錯誤
2 是第二個迴圈 k=1 時,被重新 enqueue 的值,因為環形陣列的特性,它會被存放在 index 0 的位置((6+1)%7 = 0)。
B4✕ 錯誤
4 是第二個迴圈 k=2 時,被重新 enqueue 的值,它會被存放在 index 1 的位置((0+1)%7 = 1)。
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本