C 基礎 STL之佇列queue

2021-10-25 05:14:58 字數 1207 閱讀 2014

這篇文章介紹一下stl中佇列queue的基本使用方法。

佇列也是最為常見的一種資料結構,佇列中的元素滿足fifo(先進先出)。主要特點如下:

#include

using namespace std;

queue函式名

用途功能說明

時間複雜度

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...