priority_queue的运算符重载问题
2024-10-19 06:30:20
对于需要比较的函数或STL(最常见的为sort,priority_queue)
要对自创的结构进行运算符重载(sort可以写cmp,一样的效果)
1、只能对小于号重载
cmp函数与其起到相同的作用
2、sort:返回值为真则前后不交换
priority_queue:与sort相反,返回值为真则前后交换
可以通过两者默认相反来记忆
#include <bits/stdc++.h> using namespace std; struct node
{
int x,y;
}; bool operator < (node a,node b)
{
return a.x*a.y<b.x*b.y;
} bool cmp(node a,node b)
{
return a.x*a.y<b.x*b.y;
} int main()
{
priority_queue<node> que;
que.push(node{,});que.push(node{,});que.push(node{,}); vector<node> v;
v.push_back(node{,});v.push_back(node{,});v.push_back(node{,});
sort(v.begin(),v.end());
//sort(v.begin(),v.end(),cmp); node a=que.top();
cout << a.x << " " << a.y << endl;
cout << v[].x << " " << v[].y; return ;
}
对于上述代码,priority_queue输出 3 5
sort 输出 2 2
最新文章
- 数据类型和Json格式
- unity自定义工具
- 通过jQuery的比较来认识AngularJS
- CXF学习(3) wsdl文件
- Examples For When-Validate-Item trigger In Oracle Forms
- 我的R代码备份
- ListBox基础
- 【转】iOS应用崩溃日志揭秘2
- jQuery 元素移除empty() remove()与detach()的区别?
- sql server 2005中IMAGE类型的BUG问题
- shell中的替换
- MongoDB自学笔记2---1.2 初识MongoDB
- Java IO流--练习
- 浅谈快速开发框架的分层(WinForm)
- jqery autocomplete 动态传递参数的问题
- Bitvise 使用公私玥免密登陆 服务器
- vue相关理论知识
- 详解vue父组件传递props异步数据到子组件的问题
- ACM 博弈(难)题练习 (第一弹)
- springboot 全局异常处理