priority_queue 结构体类型
来源:互联网 发布:忻州网络第一传媒 编辑:程序博客网 时间:2024/05/14 13:41
记录一下,以后不能忘了!!
如果priority_queue插入结构体类型的变量,需要重载<运算符
有两种重载<运算符方式:
1.在结构体内部写重载
举例:
#include<cstdio>#include<queue>using namespace std;struct Node{ int a, b; bool operator <(const Node &x)const { return a < x.a; }}node[100];int main(){ priority_queue<Node> que; int N; scanf("%d",&N); for(int i=0; i<N; i++) { scanf("%d%d",&node[i].a, &node[i].b); que.push(node[i]); } printf("\n"); while(!que.empty()) { Node u = que.top(); que.pop(); printf("%d %d\n",u.a, u.b); } return 0;}
2.在结构体外部写重载
举例:
#include<cstdio>#include<queue>using namespace std;struct Node{ int a, b;}node[100];bool operator <(const Node &x, const Node &y){ return x.a < y.a;}int main(){ priority_queue<Node> que; int N; scanf("%d",&N); for(int i=0; i<N; i++) { scanf("%d%d",&node[i].a, &node[i].b); que.push(node[i]); } printf("\n"); while(!que.empty()) { Node u = que.top(); que.pop(); printf("%d %d\n",u.a, u.b); } return 0;}
这样优先队列的优先级就重写好了。重载根据自己要求写就行。
运行图:
0 0
- priority_queue 结构体类型
- priority_queue的使用:简单类型与结构体
- priority_queue & 结构体
- priority_queue & 结构体||类 & 自定义比较函数cmp
- priority_queue & 结构体||类 & 自定义比较函数cmp
- 结构体类型-枚举类型-联合体类型
- 结构体类型问题
- 结构体类型
- 结构体类型
- 聚合类型结构体
- 结构体类型
- 结构体类型变量
- 结构体类型
- GO结构体类型
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- Ext.menu.Menu菜单栏
- angular的ui-router小demo
- HDU5128 The E-pang Palace(计算几何,枚举)
- AngularJS-路由
- 运行tomcat出现set?JAVA_OPTS 不是内部或外部命令
- priority_queue 结构体类型
- 关于获取时间戳
- QAN API error: "qh.Profile: No query classes for selected instance and time range. Please check whet
- 通过浏览器geolocation属性获取经度和纬度(1)
- oracle hr样例数据库经典查询语句
- JavaScript学习笔记19-for循环
- Python os模块 简单使用
- 4813: [Cqoi2017]小Q的棋盘
- 2017中国人工智能大会即将于7月召开!