STL容器介面卡 queue

2021-08-25 23:07:07 字數 1096 閱讀 7689

1. 概念

和stack一樣,queue也是一種容器介面卡,其通過對既有容器進行包裝,形成一種fifo(first-in first-out)的資料結構。queue允許在一端進行插入,另一端進行訪問,如下:

2. api

queue提供的api介面比較簡單,如下:

(constructor) construct queue (public member function)

empty test whether container is empty (public member function)

size return size (public member function)

front access next element (public member function)

back access last element (public member function)

push insert element (public member function)

pop delete next element (public member function)

3. queue實現

和stack一樣,queue也可以通過deque、list實現,有興趣的同學可以參閱相關**。queue所有元素的進出都必須符合fifo的條件,不支援遍歷,所以,queue不提供迭代器。

4. queue使用示例

**如下:

#include #include using namespace std; int main ()

輸出結果:

0. size: 0

1. size: 5

2. size: 4

7. 結語

queue是一種容器介面卡,通過對其他容器進行包裝,使得元素只能以fifo的形式訪問,由於queue和deque特點比較相似,所以一般庫使用deque作為queue的支援容器。

STL 容器介面卡

那麼c 中的容器介面卡是幹什麼的呢?可以做乙個模擬,我們已有的容器 比如vector list deque 就是裝置,這個裝置支援的操作很多,比如插入,刪除,迭代器訪問等等。而我們希望這個容器表現出來的是棧的樣子 先進後出,入棧出棧等等,此時,我們沒有必要重新動手寫乙個新的資料結構,而是把原來的容器...

STL容器介面卡

stl學習系列之六 容器介面卡 stl提供了三種容器介面卡 stack,queue,priority queue。介面卡並不是第一類容器,因為它們並沒有提供與元素的儲存形式有關的真正資料結構實現,並且介面卡不支援迭代器。介面卡的優點是 能夠使程式設計師選擇一種合適的底層資料結構。這三個介面卡類都提供...

STL容器介面卡

首先,我們要明白介面卡是幹什麼的?其實就是乙個介面轉換裝置,是得我們能用特定的方法去操作一些我們本來無法操作的東西。舉乙個例子,比如你的乙個裝置支援串列埠線,而你的電腦支援的是usb口,這時候,我們沒有必要重新買乙個支援usb的裝置,只需要一根串列埠轉usb口的小玩意,讓你的裝置能夠連線到usb插口...