deque queue and priority_queue

简介: deque queue and priority_queue stl-deque deque 是双端队列,可实现栈与队列的操作。 deque支持deque_ob[i] 形式的随机存取。 stl-queue queue的基本操作有: 入队,如例:q.push(x); 将x 接到队列的末端。 出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素

deque queue and priority_queue

stl-deque

deque 是双端队列,可实现栈与队列的操作。

deque支持deque_ob[i] 形式的随机存取。


stl-queue

queue的基本操作有:
入队,如例:q.push(x); 将x 接到队列的末端。
出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
访问队首元素,如例:q.front(),即最早被压入队列的元素。
访问队尾元素,如例:q.back(),即最后被压入队列的元素。
判断队列空,如例:q.empty(),当队列空时,返回true。

查询当前容量,如例:q.size();

微笑不支持[i]下标随机访问和clear()函数。


stl-priority_queue

普通的队列是一种先进先出的数据结构,元素在队尾进队而从队头出队。在优先队列中,元素被赋予优先级,最大(或最小)的元素在队头。

对于自定义的结构体,重载'<'(小于号)就会保证队头元素当前最大,即降序排序。这与sort刚好相反。

头文件为<queue>。此类没有clear()成员函数,只能逐个pop()

常用的操作如下: 
empty()  如果优先队列为空,则返回真  
pop()  删除第一个元素  
push()  加入一个元素  
size()  返回优先队列中拥有的元素的个数  
top()  返回优先队列中有最高优先级的元素

#include<iostream>
#include<queue>
using namespace std;
int main(){
    priority_queue<int ,vector<int>,greater<int>> q;
    q.push(3);q.push(1);q.push(2);
    for(;!q.empty();q.pop()) cout<<q.top();
    cout<<endl;
    {
        priority_queue<int ,vector<int>> q;
        q.push(3);q.push(1);q.push(2);
        for(;!q.empty();q.pop()) cout<<q.top();
    }//此对括号作用域内的q不会与上面的q冲突
    return 0;
}
/*下面是priority_queue的定义
template<typename _Tp, typename _Sequence = vector<_Tp>,
	   typename _Compare  = less<typename _Sequence::value_type> >
    class priority_queue{};
*/
/*123
321
Process returned 0 (0x0)   execution time : 0.124 s
Press any key to continue.
*/


目录
相关文章
|
6月前
|
存储 设计模式 算法
【C++】stack & queue
【C++】stack & queue
326 0
【C++】stack & queue
|
8月前
|
存储 算法 C++
C++ STL priority_queue
优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。
|
5月前
|
存储 算法 C++
C++ priority_queue
C++ priority_queue
|
5月前
|
设计模式 存储 C++
C++ Stack&queue&deque
C++ Stack&queue&deque
|
6月前
|
存储 算法 C++
『C++ - STL』之优先级队列( priority_queue )
『C++ - STL』之优先级队列( priority_queue )
|
6月前
|
存储 算法 程序员
stack、queue、priority_queue的使用和简单实现【STL】
stack、queue、priority_queue的使用和简单实现【STL】
28 0
|
9月前
|
存储 设计模式 算法
stack,queue
stack,queue
63 0
|
11月前
|
算法 容器
stack_queue | priority_queue | 仿函数
stack_queue | priority_queue | 仿函数
80 0
|
11月前
|
存储 设计模式 算法
【STL】stack、queue、priority_queue模拟实现
一. deque简单介绍 1.1 deque的功能介绍 deque(双端队列
|
存储 编译器 C++
【C++】stack、queue和deque(上)
【C++】stack、queue和deque(上)
【C++】stack、queue和deque(上)

热门文章

最新文章