使用标准库的栈和队列时,先包含相关的头文件
#include<stack>
#include<queue>
定义栈如下:
stack<int> stk;
定义队列如下:
queue<int> q;
栈提供了如下的操作
s.empty() 如果栈为空返回true,否则返回false
s.size() 返回栈中元素的个数
s.pop() 删除栈顶元素但不返回其值
s.top() 返回栈顶的元素,但不删除该元素
s.push() 在栈顶压入新元素
队列提供了下面的操作
q.empty() 如果队列为空返回true,否则返回false
q.size() 返回队列中元素的个数
q.pop() 删除队列首元素但不返回其值
q.front() 返回队首元素的值,但不删除该元素
q.push() 在队尾压入新元素
q.back() 返回队列尾元素的值,但不删除该元素
<ul class="custom_dot para-list list-paddingleft-1" style="margin: 0px 0px 14px 2em; padding: 0px; list-style: none; font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px;"><li class="list-dot list-dot-paddingleft" style="margin: 0px; padding: 0px 0px 0px 14px; list-style-type: none; background-image: url(http://img.baidu.com/img/baike/editor/list/dot.gif); background-position: 0px 6px; background-repeat: no-repeat;"><div class="para" style="color: rgb(51, 51, 51); margin: 0px;">注意:pop()虽然会移除下一个元素,但是并不返回它,front()和back()返回下一个元素但并不移除该元素。</div></li></ul>
队列的基本运算:
(1)初始化队列 Qini (Q)
(2)入队 QADD(Q,X)
(3)出队 QDel(Q,X)
(4)判断队列是否为空 qempty(Q)
(5)判断队列是否为满qfull(Q)