在C++中,如果容器中的数据类型为int double等基本类型时,我们很容易利用STL自带的函数对其进行排序,但是如果数据类型是我们自定义的结构体或者类呢,这时候再利用STL进行排序就力不从心了。在此我们利用函数对象来实现:

//自定义结构体

typedef struct dataRecord 
{
string playRecord;
double teaCharge;
}dataRecordStruct;

bool a_greater_b(const dataRecordStruct& r,const dataRecordStruct& s)//降序排列
{
return r.teaCharge > s.teaCharge;
}

bool a_less_b(const dataRecordStruct& r,const dataRecordStruct& s)//升序排序
{
return r.teaCharge < s.teaCharge;
}

int main()

{

vector(dataRecordStruct) dataRecordVec

dataRecordStruct a1[10];

for (int i = 0;i<10; i++)

{

dataRecordVec.push_back(a[i]);

}

sort(dataRecordVec.begin(), dataRecordVec.end() ,a_greater_b); //升序排列

sort(dataRecordVec.begin(), dataRecordVec.end() ,a_less_b); //降序排列

return 0;

}

C++对自定义结构体变量排序相关推荐

  1. C++结构体变量的引用 | 结构体变量引用

    C++结构体变量的初始化 C++对结构体变量可以在定义时指定初始值. struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年 ...

  2. QML < 5 > QML 访问C++ 类 (函数Q_INVOKABLE、枚举Q_ENUMS 、成员变量Q_PROPERTY、自定义结构体QVariantMap、List数据QVariantL

    QML < 5 > QML 访问C++ 类 (函数Q_INVOKABLE.枚举Q_ENUMS .成员变量Q_PROPERTY.自定义结构体(QVariantMap ).List数据QVar ...

  3. python结构体排序_c++如何对自定义结构体排序

    C++中,当 vector 中的数据类型为基本类型时,我们调用std::sort函数很容易实现 对vector中数据成员的升序或降序排序,然而当vector中的数据类型为自定义结构体类型或者类时,我们 ...

  4. 结构体变量和结构体类型的定义

    结构体类型定义 定义方式1:Typedef struct LNode {int data; // 数据域struct LNode *next; // 指针域 } *LinkList; 定义方式2:st ...

  5. PAT甲级1141 PAT Ranking of Institutions :[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数、排名

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:和下面这题是一道题: PAT甲级1137 Final Grading:[C++题解]结构体.排序.哈希表.结构体构造函数.结构体内写函 ...

  6. C++结构体多级排序的三种方法

    C++结构体多级排序的三种方法 struct node{int chinese,math;char name[15]; }; 需求:按数学成绩从大到小排序  1.自定义比较器 //自定义比较函数 bo ...

  7. Linux结构体变量报错,C语言中的结构体

    用户自己建立自己的结构体类型 1.  定义和使用结构体变量 (1).结构体的定义 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体. (2).声明一个结构体类型的一般形式为: ...

  8. c语言调用dll实例 结构体传参,Matlab调用Dll,对于自定义结构体数组如何传参? - 程序语言 - 小木虫 - 学术 科研 互动社区...

    %[例子1] % Matlab调用DLL,整形数组传参 v = [1,22,33;44,-56,67]; pv = libpointer('int16Ptr',v); m = get(pv,'Valu ...

  9. c语言结构体函数排序,(为什么不能给分?)结构体数组插入排序的函数有关问题,...

    当前位置:我的异常网» C语言 » (为什么不能给分?)结构体数组插入排序的函数有关 (为什么不能给分?)结构体数组插入排序的函数有关问题, www.myexceptions.net  网友分享于:2 ...

最新文章

  1. linux+任务默认优先级,uclinux内核的任务优先级及其load_weight
  2. 【OpenCV 4开发详解】QR二维码检测
  3. 微软某程序员吐槽:如果毕业去字节,现在总包150万!如今一年才50万,看见字节的人都抬不起头!...
  4. matlab负荷预测,负荷预测matlab
  5. 将图片序列压缩成视频
  6. 下一代ERP”仍旧是现在的ERP?
  7. .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...
  8. 在Java EE 7中自动配置JMS资源
  9. Halcon算子学习:图像阈值分割-threshold、binary_threshold、dyn_threshold算子
  10. Git的基本概念/常用命令及实例
  11. 使用Python和Numpy进行波士顿房价预测任务(二)【深度学习入门_学习笔记】
  12. 网页排序向量计算和改进
  13. html代码大全右对齐,html特效代码大全
  14. rs232接口_为什么越来越多人用RS232接口,却还分不清DB9、DB25的引脚定义?
  15. 【英语语法入门】 第14讲 副词
  16. maven插件安装与使用
  17. 告别微服务:究竟是千军易得还是一将难求
  18. 超级马里奥(待完善)
  19. MFC设置应用程序图标
  20. 阿里云的认证有效期是多久?到期后怎么办呢?

热门文章

  1. 小说形象特征包括哪些方面_中高考常考题:怎样鉴赏散文中的形象 ?
  2. MySQL软件的下载
  3. ZkServer服务启动的逻辑-QuorumPeerMain.runFromConfig
  4. acquireQueued
  5. NamespaceHandler 接口
  6. 模块化操作(es5写法)
  7. RBAC模型:表设计分析
  8. MySQL 1093 You can't specify target table for update in FROM c 的解决办法
  9. mysql二进制日志格式对复制的影响
  10. jvm参数调优堆的初始和最大值一定要一致