21.Priority_Queue的常见用法详解优化-[STL模板]
1.priority_queue的定义
<mark>一个元素</mark>
priority_queue<typename> name;
/* priority_queue<int> a; priority_queue<char> b; */
2.priority_queue内元素访问
<mark>top()访问 无迭代器</mark>
#include <bits/stdc++.h>
using namespace std;
int main()
{
priority_queue<int> a;
a.push(3);
a.push(4);
a.push(1);
cout<<a.top();
return 0;
}
输出:4 【默认数字越大 优先级越高】
3.priority_queue常用函数
(1)push(x)
将x压入队列
(2)top()
取队列首元素(优先级最高)
(3)pop()
队列首元素出列
(4)empty() <mark>bool类型</mark>
判断队列是否为空
(5)size()
获取队列的元素总数
4.priority_queue优先级设置
<mark>①基本数据类型</mark>
priority_queue<int,vector<int>, greater<int>(排序规则 可用结构体写) > a;
//代表数字越小 优先级越大 默认数字越大优先级越大
<mark>②结构体优先级设置</mark> cmp和这里的是相反的 优先队列的理解
还没弄懂