当用sort()想对结构体进行排序的时候,这时候就需要自己写一个排序函数了

写这个是因为自己好久没用STL里面的sort()函数了。都忘记了 。再次实现一下

其实排序函数也很简单,自己实现

代码如下:

#include <iostream>
#include <algorithm>
#include <time.h>
using namespace std;typedef struct index
{int a,b;
}index;bool cmp(index a , index b)
{if (a.a > b.a ){return true;}elseif ( a.a == b.a  ){if (a.b > b.b ){return true ;}}return false ;
}int main()
{index c[100];srand( time(0) );for (int i = 0 ; i < 100 ; ++i ){c[i].a = rand()%10 ; c[i].b = rand()%10 ;}sort( c , c+100 , cmp );for (i = 0 ; i < 100 ; ++i ){cout<<c[i].a <<"   "<<c[i].b <<endl;}return 0;
}

排序顺序:

首先按照a递减的方式排序。

若a相同,则按照b的递减方式排序

STL里面的sort()函数使用结构体相关推荐

  1. C语言(CED)如何用sort函数根据结构体里的某一属性进行排序

    (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 前几天在编写代码的时候,突然要根据结构体的属性进行从小到 ...

  2. sort函数与结构体

    对于排序来说,c++的sort函数用着还是相当方便的,比什么冒泡排序,快速排序简单方便了很多. sort函数的头文件是#include<algorithm> sort函数默认的排序方式是升 ...

  3. 中石油oj 奥运会跳水比赛 C++ sort函数对结构体的排序

    奥运会跳水比赛 题目解析: 结构体排序,手写cmp的sort函数用法. 题目代码: #include<iostream> #include<algorithm>using na ...

  4. 通过宏函数计算结构体成员偏移量

      编译器在为结构体成员分配内存时,由于存在内存对齐机制,各个成员所占空间可能不是连续的,因而不能简单的通过成员类型所占的字长来推断其它成员或结构体对象的地址.   获得结构体成员偏移量的方法可以参照 ...

  5. 使用qsort函数实现结构体

    #include<stdo.h> #include<stdlib.h> //库里面的qsort()函数 //解释: //void qsort(void* base, //bas ...

  6. 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf

    http://blog.csdn.net/windeal3203/article/details/39320605 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq ...

  7. 洛谷刷题记录(python)【入门6】函数与结构体

    [入门6]函数与结构体https://www.luogu.com.cn/training/105#problems P5735 [深基7.例1]距离函数 import mathdef solve(a, ...

  8. 【C 语言】结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )

    文章目录 一.结构体作为函数参数 二.结构体指针作为函数参数 三.完整代码示例 一.结构体作为函数参数 结构体变量 作为函数形参 , 在函数中 , 只能访问 该函数形参 , 无法修改 结构体内存 的值 ...

  9. STL 的 std::set 创建自定义结构体的对象,定义严格弱序的比较函数

    文章目录 正文 Ref 系列地址 简 述: 对于 STL 中 std::set 创建自定义结构体的对象,发现使用 "函数对象" 和 "定义普通函数 + decltype& ...

最新文章

  1. 汇编语言-第四章 第一个程序
  2. wordpress自动批量定时发布插件 DX-auto-publish
  3. 一次微服务与IoT的深度探秘与实战
  4. Python之父重回决策层,社区治理新方案!
  5. Qt工作笔记-主界面传输数据到附属界面(通过信号与槽非构造函数)
  6. springcloud工作笔记094---springcloud项目后端验证_hibernate validator后端校验字段_介绍了解
  7. Python入门--获取字典视图的三个方法#keys()-->获取字典中所有key#values()-->获取字典中的所有value#items()-->获取字典中所有key-value对
  8. [转载]shell 十三问?
  9. 即席查询(Ad Hoc)入门(Kylin)
  10. 阿里云DataV实现MySQL数据库类型数据源绑定
  11. 推荐系统本质与网易严选实践
  12. 变异检测:vcf文件合并
  13. linux持续测试ip端口延迟,Linux下使用nping测试TCP\UDP延迟
  14. 精通正则表达式的 12 个有用资源
  15. PhoneRescue for Mac(iOS数据恢复软件)
  16. 四阶龙格库塔法的基本思想_利用龙格库塔法求解郎之万方程.doc
  17. Asterisk 使用札记
  18. Android Studio 一键切换界面风格
  19. hexo butterfly主题 添加全局吸底APlayer
  20. Thanks for的用法,Thank you for your句型,老外常说的感谢的话

热门文章

  1. java listview排序_android listviewadapter 怎么进行排序
  2. 计算器计算经纬距离_经纬度距离角度计算工具
  3. 计算机题硬盘分区首先,您对计算机硬盘分区了解多少: 如何进行分区合理?
  4. 经济学python值得学吗_地藏经注音,地藏经全文,地藏经全文(注音版)——学佛网...
  5. 聚类算法-K均值(K-means)
  6. 安装oracle失败,停止在76%
  7. 构建之法阅读笔记(1)
  8. Retrofit请求数据对错误以及网络异常的处理
  9. 移动端:判断是否微信端、判断手机操作系统(ios或android)
  10. 《Java编码指南:编写安全可靠程序的75条建议》—— 指南16:避免授予过多特权...