stack
stack<int> s;
s.empty() //堆栈为空则返回真
s.pop() //移除栈顶元素
s.push() //在栈顶增加元素
s.size() //返回栈中元素数目
s.top() //返回栈顶元素
queue
queue<int> q;
q.push(x); //入队
q.pop(); //出队
q.front(); //访问队首元素
q.back(); //访问队尾元素
q.size(); //访问队中的元素个数
priority_queue优先队列
优先队列分为大顶堆和小顶堆
注意取队首元素是用top(),不是front()
deque双端队列
头尾均可操作的队列称为双端队列
void push_front(const T& x):双端队列头部增加一个元素X
void push_back(const T& x):双端队列尾部增加一个元素x
void pop_front():删除双端队列中最前一个元素
void pop_back():删除双端队列中最后一个元素