C++结构体Struct的cmp函数
2022/2/27 22:21:37
本文主要是介绍C++结构体Struct的cmp函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C++的结构体Struct可以容纳许多不同的数据值
举例:
struct PayRoll { int empNumber; string name; double hours,payRate,grossPay; };
它本质上是创建一个名为 PayRoll 的新数据类型,但我们还并没有使用它
而以下定义语句创建了 PayRoll 结构体的 3 个变量:
PayRoll deptHead, foreman, associate;
它们每一个都是 PayRoll 结构体的实例,可以被分配和拥有自己的内存,以保存其成员数据。请注意,尽管 3 个结构体变量具有不同的名称,但每个变量都包含具有相同名称的成员,如图所示
我们也可以用声明的结构体中的数据结构去定义一个数组,如:
struct PayRoll { int empNumber; string name; double hours,payRate,grossPay; }a[1000];
这样就声明了一个a数组,数组中的每个值都具有结构体中的数据类型结构,即我们可以访问 a[1].name 或 a[500].hours 等,但前提是你已经为他们赋过值。
但是简单定义的结构体不能排序,如果需要将结构体按照某种性质排序,则需要sort函数和手动定义的cmp比较函数,如:
struct PayRoll { int empNumber; string name; double hours,payRate,grossPay; }a[1000]; bool cmp(RayRoll a, RayRoll b) { return a.name < b.name; } sort(a, a + 1000, cmp);
这样我们就定义了a数组的排序,即按照每个值的name按字典序从小到大排序
这篇关于C++结构体Struct的cmp函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 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功能效果提升