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; }