1. 程式人生 > >java中的資料結構——佇列

java中的資料結構——佇列

佇列

與棧相似,佇列也是順序儲存元素的線性資料結構,但佇列是先進先出。 操作 插入:put,add,enque 刪除:delete,get,deque 插入資料項的隊尾:back,tail,end 移除資料項的隊頭:head 檢視:peek,返回隊頭資料項的值,並不從隊中刪除這個項。 新建:new 隊空移除,隊滿插入都會報錯。 Enqueue,Dequue,isEmpty,top

佇列的效率 和棧一樣,佇列中插入資料項和移除資料項的時間複雜度均為O(1) 雙端佇列 是 一 個 兩 端 都 是 結 尾 的 隊 列 , 隊 列 的 每 一 端 都 可 以 插 入 數 據 項 和 移 除 數 據 項 , 方 法 有 inserLeft(),insertRight(),removeLeft(),removeRight(),雖然雙端佇列是一種多用途的資料結構,在 容器類庫中有時會提供棧和佇列兩種功能,但是雙端佇列並不常用。

總結: 在棧,佇列,優先順序佇列這些資料結構中,只有一個數據項可以被訪問,棧允許訪問最後一個插入資料 項,棧中重要的操作是在棧頂壓入一個數據項和在棧頂移除一個數據項。佇列只允許訪問第一個插入的 資料項,佇列的重要操作是在隊尾插入資料項和在隊頭移除資料項。佇列可以實現為迴圈佇列,它基於 陣列,陣列下標可以從陣列末端迴繞到陣列的開始位置。 優先順序佇列允許訪問最小或最大的資料項,這 些資料結構可以用陣列或者其他機制如連結串列來實現。

實戰

使用隊列表示棧的核心方法 在這裡插入圖片描述