C++STL特殊容器queue


queue的基本性能

queue是一個典型的數據緩沖構造,class queue<>實現出一個queue(也稱FIFO[先進先出])。通俗的來說,就是一個線性表,你只能從尾部插入元素,而取出元素的操作則只能從首部進行,就像銀行排隊一樣,辦理業務只能從隊首的人開始辦,而新來的人則只能站在隊尾等待。

queue使用須知

1.包含頭文件

#include<queue>

2.在頭文件<queue>中,class queue 定義如下

namespace std { template <typename T, typename Container = deque<T>>
              class queue; }

第一個template參數代表元素類型。帶有默認值的第二個template參數定義queue內部用來存放元素的實際容器,默認采用deque。

實際上,你可以使用任何sequence容器支持queue,只要它們支持front()、back()、push_back()、pop_front()等操作,最后會給出具體的實例。

queue核心操作

1.核心接口成員函數

push()  //將一個元素放入queue內
front()  //返回queue內的首部元素
back()  //返回queue內的最后一個元素
pop()   //從queue的首部移除一個元素

2.queue的創建以及操作實例

#include<iostream> #include<queue> #include<string>
using namespace std; int main() { queue<string> q;//創建一個內部容器為string的queue
    q.push("Hellow "); q.push("World"); q.push("!");//進入三個元素
    cout<<q.front(); q.pop();//輸出隊首元素的同時彈出該元素,叫"出隊"
    cout<<q.front(); q.pop(); cout<<q.back()<<endl;//只剩下一個元素時,該元素既是隊首元素又是隊尾元素
    q.pop();//此時元素全部彈出,下方輸出queue此時的容量
    cout<<"Now numeber of elements in the queue: "<<q.size(); return 0; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM