1. 队列
queue 队列是一种容器适配器,专门用来满足先进先出的操作,也就是元素在容器的一端插入并从另一端提取。
bool empty() const; 返回队列是否为空;
size_type size() const; 返回队列中元素的数量;
reference& back(); 返回队列中最后一个元素也即最新的元素的引用;
reference& front(); 返回队列中的下一个元素也即最旧的元素的引用;
void push (const value_type& val); 在队尾插入一个元素;
void pop(); 弹出队列的下一个元素也即最旧的元素,队头元素。
2. 优先级队列
优先级队列是一种容器适配器,根据一些严格的弱排序标准,专门设计使其第一个元素始终是它包含的最值元素。其本质上就是一个大顶堆或者小顶堆,会在需要时自动调用函数 make_heap,push_heap 和 pop_heap 自动完成堆化,比如插入新元素或者弹出堆顶元素。
bool empty() const; 返回优先级队列是否为空;
size_type size() const; 返回优先级队列中元素的数量;
const_reference top() const; 返回优先级队列的顶部元素,也即比较优先级最高的元素;
void push (const value_type& val); 在优先级队列中插入一个元素;
void pop(); 弹出优先级队列的顶部元素。
下面的例子中展示了构建优先级队列,将两个降序的 vector 合并成一个新的降序的