栈
//头文件
#include<stack>
using namespace std;
//定义
stack<int> s;
//用法
s.empty()//如果栈为空返回true,否则返回false
s.size()//返回栈中元素的个数
s.pop()//删除栈顶元素,不返回其值
s.top()//返回栈顶的元素,不删除该元素
s.push(a)//在栈顶压入新元素
队列
//头文件
#include<queue>
using namespace std;
//定义
queue<int> q;
//用法
q.empty()// 如果队列为空返回true,否则返回false
q.size() // 返回队列中元素的个数
q.pop() //删除队列首元素但不返回其值
q.front() // 返回队首元素的值,不删除该元素
q.push(a) //在队尾压入新元素
q.back() //返回队列尾元素的值,不删除该元素
双向队列
//头文件
#include<deque>
using namespace std;
//定义
deque<int> dq;
//用法
dq.front()//返回第一个数据
dq.back()//返回最后一个数据
dq.push_front(a)//在队头压入新元素
dq.push_back(a)//在队尾压入新元素
dq.pop_front()//删除第一个元素
dq.pop_back()//删除最后一个元素
dq.empty()//判断是否为空
dq.size()//返回数据个数