队是先进先出,栈是先进后出,这一点大家应该清楚,明白这一点就可以正确的选择他们的运用了!
/*使用标准库的队列*/
#include <queue> //头文件
queue<int> q; //定义一个 int 型的队列
q.empty() //如果队列为空返回true,否则返回false
q.size() //返回队列中元素的个数
q.pop() //删除队列首元素但不返回其值
q.front() //返回队首元素的值,但不删除该元素
q.push() //在队尾压入新元素
q.back() //返回队列尾元素的值,但不删除该元素
/*使用标准库的栈*/
#include <stack> //头文件
stack<int> s; //定义一个 int 型的栈
s.empty() //如果栈为空返回true,否则返回false
s.size() //返回栈中元素的个数
s.pop() //删除栈顶元素但不返回其值
s.top() //返回栈顶的元素,但不删除该元素
s.push() //在栈顶压入新元素
/*优先队列*/
/*优先级队列支持的操作*/
q.empty() //如果队列为空,则返回true,否则返回false
q.size() //返回队列中元素的个数
q.pop() //删除队首元素,但不返回其值
q.top() //返回具有最高优先级的元素值,但不删除该元素
q.push() //在基于优先级的适当位置插入新元素