queue是一种容器转换器模版,调用#include ****即可使用队列类。
queue初始化queue
初始化时必须要有数据类型,容器可省略,省略时则默认为deque类型
初始化示例:queueq1;
queueq2;
queueq3;
//默认为用deque容器实现queue
queue>q1;
//用list容器实现的queue
queue>q2;
//用deque容器实现queue
注意:不能用vector容器初始化queue
因为queue转换器要求容器支持front()、back()、push_back()以及pop_front(),说明queue的数据从容器后端入栈而从容器前端出栈。所以可以使用deque和list对queue初始化,而vector因其缺少pop_front(),不能用于queue。
常用函数名称 | 功能 |
---|---|
push() | 在队尾插入一个元素 |
pop() | 删除队列的第一个元素 |
size() | 返回队列中元素个数 |
empty() | 如果队列空则返回true |
front() | 返回队列中的第一个元素 |
back() | 返回队列中的最后一个元素 |
queue q;
q.push("first");
q.push("second");
cout << q.front()<
输出:first
2、pop()将队列中最靠前位置的元素删除,没有返回值queue q;
q.push("first");
q.push("second");
q.pop();
cout << q.front()<
输出second 因为 first 以及被 pop()函数删掉了
3、size()返回队列中元素个数queueq;
q.push("first");
q.push("second");
cout << q.front() << endl
输出2,因为队列中有两个元素
4、empty()如果队列空则返回truequeue q;
cout << q.empty() << endl;
q.push("first");
q.push("second");
cout << q.empty() << endl;
分别输出1,0
最开始队列为空,返回值为1(true);
插入两个元素后,队列不为空,返回值为0(false);
5、 front()返回队列中的第一个元素queue q;
q.push("first");
q.push("second");
cout<
第一行输出first;
第二行输出second;因为pop()已经将first删除了
6、back()返回队列中最后一个元素queue q;
q.push("first");
q.push("second");
cout<
输出最后一个元素second;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)