免費開始練習
moea_joint_essay 107年 [資訊] 資訊管理、程式設計

第 六 題

何謂環狀佇列(Circular Queue)(4分)?請使用 C、Java等程式語言或虛擬碼(Pseudo Code)以陣列(Array)方式實作環狀佇列,其中須包含新增與刪除佇列元素之方法(20 分)。
📝 此題為申論題

思路引導 VIP

  1. 解釋環狀佇列的定義與目的(解決線性佇列假溢位問題)。
  2. 用 Java 撰寫以陣列實作的 Circular Queue 類別,宣告容量、front、rear 變數,並實作 enqueue() 與 dequeue() 方法。
🤖
AI 詳解 AI 專屬家教

1. 何謂環狀佇列 (Circular Queue)(4分)

環狀佇列是一種利用陣列實作的資料結構,其邏輯上將陣列的頭尾相連形成一個環形結構。在傳統的線性佇列中,當發生多次新增與刪除操作後,rear 指標會移至陣列末端,此時即使陣列前方因資料刪除而留有空位,也會因 rear 到達邊界而無法再加入新元素,這稱為「假性溢位 (False Overflow)」。 環狀佇列透過取餘數 (%) 運算子計算指標位置,當 rear 達到陣列尾端時,可以繞回陣列開頭繼續利用前面的空位,大幅提高空間利用率,其運作仍遵守先進先出 (FIFO) 原則。

▼ 還有更多解析內容

🏷️ 相關主題

物件導向程式設計與系統分析核心概念
查看更多「[資訊] 資訊管理、程式設計」的主題分類考古題