queue是容器配接器C的一个示例,容器配接器C将一些基础容器转换成类C的容器。容器配接器queue、stack、priority_queue——与标准模板库的其他处理是截然不同的。他们的方法和定义要调用基础容器类的方法。
queue的基础类可以为list,list类中有size,empty,push_back,pop_front,front,back方法。deque类也可以作为基础类,而且是默认的基础类。vector类不能作为基础类,vector类没有pop_front方法。
函数列表:
操作> < = != >= <=
back() 返回最后一个元素
empty() 如果队列空则返回真
front() 返回第一个元素
pop() 删除第一个元素
push() 在末尾加入一个元素
size() 返回队列中元素的个数
/////////////////////////////////////////////////////////////////////////////////////
构造函数
explicit queue(const allocator_type& al = allocator_type());
back
语法:
TYPE &back();
back()返回一个引用,指向队列的最后一个元素。
empty
语法:
bool empty();
empty()函数返回真(true)如果队列为空,否则返回假(false)。
front
语法:
TYPE &front();
front()返回队列第一个元素的引用。
pop
语法:
void pop();
pop()函数删除队列的一个元素。
push
语法:
void push( const TYPE &val );
push()函数往队列中加入一个元素。
ize
size_type size();
size()返回队列中元素的个数。
代码演示:
#include <iostream>
#include <queue>
#include <assert.h>
/*
#include<stdlib.h> 或 #include<cstdlib> +
#include<queue>
详细用法:
定义一个queue的变量 queue<Type> M
查看是否为空范例 M.empty() 是的话返回1,不是返回0;
从已有元素后面增加元素 M.push()
输出现有元素的个数 M.size()
显示第一个元素 M.front()
显示最后一个元素 M.back()
清除第一个元素 M.pop()
*/
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
queue <int> myQ;
cout<< "现在 queue 是否 empty? "<< myQ.empty() << endl;
for(int i =0; i<10 ; i++)
{
myQ.push(i);
}
for(int i=0; i<myQ.size(); i++)
{
printf("myQ.size():%d\n",myQ.size());
cout << myQ.front()<<endl;
myQ.pop();
}
system("PAUSE");
return 0;
}