這篇文章介紹一下stl中佇列queue的基本使用方法。
佇列也是最為常見的一種資料結構,佇列中的元素滿足fifo(先進先出)。主要特點如下:
#includequeue函式名using namespace std;
用途功能說明
時間複雜度
size()
查詢遍歷
獲取元素個數
o(1)
front()
查詢遍歷
獲取指向第乙個元素的迭代器
o(1)
push
插入在末尾插入資料x
o(1)
pop刪除
刪除最後乙個元素
o(1)
empty
遍歷判斷佇列是否為空
o(1)
注:queue的成員函式主要包括插入和刪除,實際對應著佇列操作的入隊和出隊兩個操作,然後就是獲取元素個數和對頭元素的操作,都是負載度為o (1)的操作。
#include #include using namespace std;
void print_element(queue q) else
}int main()
queue element in
size:0
size:1 queue element : [l - l]
size:2 queue element : [l - i]
size:3 queue element : [l - u]
queue element out
size:2 queue element : [i - u]
size:1 queue element : [u - u]
size:0
可以看到和棧相比,乙個在入隊的時候front不變。
變長支援、泛化型別、常用功能函式內嵌、可以使用其他多種stl的函式、使用簡單等,都是queue被使用的原因,但是佇列本身是一種非常簡單的資料結構,在stl的實現中也有很多限制,比如沒有迭代器的支援等。
STL之queue單行佇列
1 queueq1 2 queue q2 基本操作 1 入隊 q.push x 將x插入到隊尾的末端 2 出隊 q.pop 彈出佇列的第乙個元素。注意 這個操作並不會返回被彈出的元素的值。3 訪問隊首元素 q.front 即最早被壓入佇列的元素。4 訪問隊尾元素 q.back 即最後被壓入佇列的元素...
C 中STL容器之佇列 queue
1.佇列 queue 的簡單介紹 和棧相反,佇列 queue 是一種先進先出 first in first out,縮寫為fifo 線性表。它只允許在在表的一端進行插入,稱之為隊尾 rear 而在另一端刪除元素,稱為隊頭 front 這話我們生活中的排隊思想是一致的,最早進入佇列的元素最早離開。一般...
stl之queue(佇列)的使用
1 建立佇列 1 queue 預設的建構函式,建立乙個空的 queue 物件。queueq 使用預設的雙端隊列為底層容器建立了乙個空的queue佇列物件q,資料元素為int型別 2 queue const queue 複製建構函式,用乙個queue物件建立新的queue物件。queue q1 que...