C++ 特殊容器 —— priority_queue 用法详解
写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法, 配上实际用例,并不涉及原理。但别人的博客终究是别人的, 最好自己上手操作一下.
写的不好, 请大神手下留情.
下面说的 “运行之后” 表示: 运行上个语句之后的结果.
一行如果说的太长的话, 就得拖动下面的进度条才能看到后面的内容, 非常麻烦
因此将一段话分成了多行, 就像现在这种形式
简介
头文件: # include < queue >
在队列的基础上将内部进行排序, 默认降序, 只能访问头部
点击前往: queue 用法详解
构造函数
priority_queue <int> pq, pq1;
//定义 int 类型的优先队列
priority_queue <char> pqch;
//定义 char 类型的优先队列
priority_queue <string> pqstr;
//定义 string 类型的优先队列
priority_queue <int> pq2(pq);
//定义新容器, 拷贝 pq 所有的元素
priority_queue <int, vector<int> > pq3;
//使用 vector 容器实现优先队列
priority_queue <int, vector <int>, greater <int> > pq2;
//升序排列容器内元素
成员函数
pq.top();
//返回队列头部元素
//例: pq={1,2,3,4}
//返回 1
pq.push(5);
//在队列尾部插入新元素 5
//例: pq={1,2,3,4}
//执行之后, pq={1,2,3,4,5}
pq.emplace(5);
//在队列尾部创建新元素 5
//例: pq={1,2,3,4}
//执行之后, pq={1,2,3,4,5}
pq.pop();
//删除队列头部元素
//例: pq={1,2,3,4}
//执行之后, pq={2,3,4}
pq.size();
//返回容器目前的元素个数
//例: pq={1,2,3,4}
//返回 4
pq.empty();
//容器为空返回true, 否则返回 false
pq.swap(pq1);
//交换两个容器的内容
//例: pq={1,2,3}, pq1={4,5,6}
//执行之后, pq={4,5,6}, pq1={1,2,3}
版权声明:本文为wzh1378008099原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。