1.priority_queue<Type, Container, Functional>
priority_queue<int,vector<int>,greater<int>
>q;
//小根堆,即对头元素最小;
priority_queue<int>//默认情况,大根堆,即队头元素最大。(后续更新)
2.deque【双端队列】
接口类似vector(单向插入删除)
c.pop_back() 弹出最后一个元素
c.push_back(elem)从后面插入一个元素
deque(双向插入删除)
c.push_front(elem)从前面插入一个元素
c.pop_front(elem)删除最前面的元素
c.clear()清除队列中所有元素
c.size()返回队列中的元素数量
3.stack
stack<int>s;
stack<string>s;
s.push(x)无返回值,将元素x压栈
s.pop();退栈,无返回值
s.top();取栈顶元素,返回栈顶元素
s.empty();判断栈是否为空,如果是空,返回1,否则返回0
s.size();返回栈中元素的个数
在栈中没有提供清空操作的函数,但是可以间接地实现清空栈,
while(!s.empty())s.pop();
stack模板类需要2个模板参数,一个为元素类型,一个为容器类型,但是只有元素类型是必要的,在容器类型缺省时,默认为deque。
sgu271