moea_joint_essay
107年
[資訊] 資訊管理、程式設計
第 六 題
何謂環狀佇列(Circular Queue)(4分)?請使用 C、Java等程式語言或虛擬碼(Pseudo Code)以陣列(Array)方式實作環狀佇列,其中須包含新增與刪除佇列元素之方法(20 分)。
📝 此題為申論題
思路引導 VIP
- 解釋環狀佇列的定義與目的(解決線性佇列假溢位問題)。
- 用 Java 撰寫以陣列實作的 Circular Queue 類別,宣告容量、front、rear 變數,並實作 enqueue() 與 dequeue() 方法。
🤖
AI 詳解
AI 專屬家教
1. 何謂環狀佇列 (Circular Queue)(4分)
環狀佇列是一種利用陣列實作的資料結構,其邏輯上將陣列的頭尾相連形成一個環形結構。在傳統的線性佇列中,當發生多次新增與刪除操作後,rear 指標會移至陣列末端,此時即使陣列前方因資料刪除而留有空位,也會因 rear 到達邊界而無法再加入新元素,這稱為「假性溢位 (False Overflow)」。
環狀佇列透過取餘數 (%) 運算子計算指標位置,當 rear 達到陣列尾端時,可以繞回陣列開頭繼續利用前面的空位,大幅提高空間利用率,其運作仍遵守先進先出 (FIFO) 原則。
▼ 還有更多解析內容