queue爲單向隊列與棧有點類似,一個是在同一端存取數據,另一個是在一端存入數據,另一端取出數據。單向隊列中的數據是先進先出(First In First Out,FIFO)。在STL中,單向隊列也是以別的容器作爲底部結構,再將接口改變,使之符合單向隊列的特性就可以了。因此實現也是非常方便的。下面就給出單向隊列的函數列表和VS2008中單向隊列的源代碼。
單向隊列的6個常用函數
push(x) 將x壓入隊列的末端
pop() 彈出隊列的第一個元素(隊頂元素),注意此函數並不返回任何值
front() 返回第一個元素(隊頂元素)
back() 返回最後被壓入的元素(隊尾元素)
empty() 當隊列爲空時,返回true
size() 返回隊列的長度
使用例子
#include<iostream>
#include<queue>
using namespace std;
int mian()
{
queue<int>q; //定義隊列
q.push(5); //入隊
q.push(6);
cout<<q.back()<<endl; //返回隊列最後一個元素
cout<<q.front()<<endl; //返回隊列第一個元素
q.pop(); //刪除隊列第一個元素
cout<<q.empty()<<endl; //判斷隊列是否爲空
cout<<q.size()<<endl; //返回隊列大小
return 0;
}