(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419

前几天在编写代码的时候,突然要根据结构体的属性进行从小到大的排序,这即是我写这篇文章的导火索。

正如大家所知道的那样,我们在排序时通常会进行sort(a,a+n):a为数组名称,n为数组长度。这样来的快捷方便,但是,在我看来,要适当的对排序算法进行复习。

那么如何根据结构体的某一属性进行排序呢?请看下面这段代码:

struct home
{int s;//定义起点int e;//定义终点int num;//定义长度int p=0;//做一个标记
};

若在整个程序中,想根据home结构体的e属性,即终点进行从小到大排序,则可以使用bool函数进行配合,例如:

bool cmp(home f,home d)
{return f.e < d.e;//选择起点从小到大排序
}

在bool函数中,“<”代表依据某一个值,从小到大进行排序。具体在排序函数中应该这样进行:

sort(a, a + n, cmp);//根据末尾节点,对种树区间进行排序

由此达到依据结构体中某一特定属性进行排序的目的。

PS:如果仅想对数组下表1以后的元素进行排序,则可以这样调用函数sort(a+1,n,cmp)

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

  1. STL里面的sort()函数使用结构体

    当用sort()想对结构体进行排序的时候,这时候就需要自己写一个排序函数了 写这个是因为自己好久没用STL里面的sort()函数了.都忘记了 .再次实现一下 其实排序函数也很简单,自己实现 代码如下: ...

  2. C语言经典例71-编写函数输出结构体数据

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 编写input()和output()函数输入,输出5个学生的数据记录. 2 分析 定义结构体,声明结构体数组,再编写函数传入结构体数组指针到 ...

  3. sort函数与结构体

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

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

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

  5. 洛谷 深基 第1部分 语言入门 第7章 函数与结构体

    P5735 [深基7.例1]距离函数 [深基7.例1]距离函数 - 洛谷 P5735 [深基7.例1]距离函数(python3实现) P5735 [深基7.例1]距离函数(python3实现)_青少年 ...

  6. C++:C++语言入门级基础知识考察点回顾之函数、结构体和类

    C++:C++语言入门级基础知识考察点回顾之函数.结构体和类 目录 C++的函数 1.函数的定义.调用,全局变量局部变量 1.1.自定义函数求其倒数

  7. 【Go语言刷题篇】Go完结篇|函数、结构体、接口、错误入门学习

    Go从0到入门6-Go完结篇 前言 Q1:函数-数字的阶乘 Q2:函数-绝对值 Q3:函数-加减乘除 Q4:结构体-学生信息1 Q5:结构体-学生信息2 Q6:接口-动物和老虎 Q7:错误-网络延迟 ...

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

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

  9. C语言结构体里的成员数组和指针

    单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如 ...

最新文章

  1. 李开复:AI巨头是有史以来最难以打破的垄断
  2. c++ vector 指针
  3. USB的pid和vid以及usb路径名字之间的关系
  4. 『数据中心』供配电与空调设计基础知识
  5. jmeter的性能监控框架搭建记录(Influxdb+Grafana+Jmeter)
  6. functools学习有感
  7. 在docker容器中安装ifconfig、ping等工具
  8. python学习(七)----测试代码
  9. stm32与绝对式编码器的ssi接口进行通信
  10. 同步助手 android 微信 表情包,微信表情轻松导,同步助手带你装逼带你飞
  11. 基于Spring MVC + Spring + MyBatis的【网上购物系统】
  12. NDK开发(八) :JNI下Bitmap的使用
  13. 电话面试的技巧和注意事项
  14. 人生之路1.20代码 第二部分
  15. [PC]极品飞车2 特别版
  16. 计算机任务管理器无法响应,电脑任务管理器经常未响应怎么办
  17. 启动springboot报错:程序包org.springframework.boot不存在
  18. 补交20145226蓝墨云班课 -- 正则表达式作业
  19. AI First:互联网进步的背后,反映出的是流量的再分配
  20. LeetCode1219 黄金矿工

热门文章

  1. springboot设置默认值_spring boot jpa存储数据的默认值为java的默认值
  2. SpringBoot2.x 整合 Ueditor
  3. (企业案例)使用Nacos持久化规则,改造sentinel-dashboard
  4. PLSQL查询字段为科学计数法,修正显示
  5. 解决由于没有办理权限导致的403,权限不足
  6. 天线接收功率计算公式_对讲机天线到底有多重要?通信效果好不好全靠它了!...
  7. python正则表达式提取字符串的字母_Python正则表达式提取一部分字符串
  8. python数据分析简答题_Python数据分析与数据可视化-中国大学mooc-试题题目及答案...
  9. 绿联串口线linux驱动下载,绿联usb转db9驱动下载
  10. qt窗口左上角坐标变动函数使用中的误区