數據結構詳解:鏈式隊列(鏈隊)原理與實現
鏈式隊列(簡稱鏈隊)是以鏈表形式實現的隊列結構。為了唯一確定隊列範圍,需維護兩個指標:頭指標指向隊頭,尾指標指向隊尾。為簡化操作邏輯,通常引入頭結點,令頭指標始終指向此頭結點。此時,空隊列判斷條件為:頭指標與尾指標均指向頭結點。
結構示意圖


核心特點
- 動態記憶體:無固定容量限制,僅受系統記憶體制約。
- 頭結點優勢:統一了空隊列與非空隊列的插入/刪除邊界條件,程式碼更簡潔。
- O(1) 入隊/出隊:尾指標直接插入,頭指標次節點直接刪除,無需資料搬移。
基本操作邏輯
- 初始化:建立頭結點,頭尾指標均指向它。
- 入隊:新節點掛在尾指標後,尾指標後移。
- 出隊:頭指標下一節點為出隊元素,頭指標指向下下節點;若隊列變空,尾指標回指頭結點。
鏈隊是實現無界隊列、生產者-消費者模型的經典選擇,廣泛應用於作業系統訊息佇列、網路封包緩衝等場景。