stack功能
stack<int> st;
push(x) --- 元素 x 入栈
pop() --- 移除栈顶元素
top() --- 获取栈顶元素
empty() --- 返回栈是否为空
queue功能
queue<int> que;
push(x) --- 将一个元素放入队列的尾部。
pop() --- 从队列首部移除元素。
front() --- 返回队列首部的元素。
empty() --- 返回队列是否为空。
deque功能
deque<int> que;
- push_back(x) --- 尾插
- pop_back() --- 尾删
- push_front(x) --- 头插
- pop_front() --- 头删
- front() ---返回容器第一个元素
- back() ---返回容器最后一个元素
vector功能
vector<int> result;
- push_back(x) --- 尾插
- pop_back() --- 尾删
- resize() --- 重构大小
priority_queue功能
priority_queue不是先进先出原则,而是先进,优先级最高先出即是一个按照优先级排序的队列(在创建时,排序规则就已经设定好)
priority_queue 容器适配器为了保证每次从队头移除的都是当前优先级最高的元素,每当有新元素进入,它都会根据既定的排序规则找到优先级最高的元素,并将其移动到队列的队头;同样,当 priority_queue 从队头移除出一个元素之后,它也会再找到当前优先级最高的元素,并将其移动到队头。
//大堆顶
priority_queue<int> pque;
//小堆顶
class Mycompare{
public:
bool operator()(conast<int>& lhs, conast<int>& rhs){
return lhs > rhs;//左大于右
}
};
priority_queue<int, Mycompare> pque;
- top() --- 头元素
- push(x) --- 按照既定的规则插入元素
- pop() --- 删除第一个元素
- empty() --- 判断是否为空
- size() --- 大小