c++ 结构体内置函数不同写法的不同效果
2022/7/28 14:33:23
本文主要是介绍c++ 结构体内置函数不同写法的不同效果,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用的测试代码:
#include<bits/stdc++.h> using namespace std; struct node { int a,b; bool operator < (const node &e) const { return b > e.b; } }; int main() { priority_queue<node,vector<node>,less<node>>q; // priority_queue<node,vector<node>,greater<node>>q; for(int i=1;i<=10;i++) { q.push({i,i}); } while(q.size()) { node op=q.top(); q.pop(); cout<<op.b<<' '; } cout<<endl; }
在这样的排序结构中,是有两个大于号(小于号)的,依次来说。
1.
对于这个符号,当优先队列定义为小根堆时,只能使用‘>’号,否则会报错。
而定义为大根堆时,只能使用‘<'号。
2.
我们知道,在优先队列中这里的符号与优先队列中存储的方式是相反的。
由此:
1.当优先队列为小根堆时
若为’>'号则和小根堆排列方式相同从小到大排序。
相反则从大到小排序。
2.当优先队列为大根堆时
若为‘<'号则和大根堆排列方式相同从大到小排序。
否则便从小到大排序
总结:两个判断符号相同的话与定义的堆排列方式相同,否则相反
这篇关于c++ 结构体内置函数不同写法的不同效果的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升