C语言(CED)如何用sort函数根据结构体里的某一属性进行排序
(请先看置顶博文)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函数根据结构体里的某一属性进行排序相关推荐
- STL里面的sort()函数使用结构体
当用sort()想对结构体进行排序的时候,这时候就需要自己写一个排序函数了 写这个是因为自己好久没用STL里面的sort()函数了.都忘记了 .再次实现一下 其实排序函数也很简单,自己实现 代码如下: ...
- C语言经典例71-编写函数输出结构体数据
目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 编写input()和output()函数输入,输出5个学生的数据记录. 2 分析 定义结构体,声明结构体数组,再编写函数传入结构体数组指针到 ...
- sort函数与结构体
对于排序来说,c++的sort函数用着还是相当方便的,比什么冒泡排序,快速排序简单方便了很多. sort函数的头文件是#include<algorithm> sort函数默认的排序方式是升 ...
- 中石油oj 奥运会跳水比赛 C++ sort函数对结构体的排序
奥运会跳水比赛 题目解析: 结构体排序,手写cmp的sort函数用法. 题目代码: #include<iostream> #include<algorithm>using na ...
- 洛谷 深基 第1部分 语言入门 第7章 函数与结构体
P5735 [深基7.例1]距离函数 [深基7.例1]距离函数 - 洛谷 P5735 [深基7.例1]距离函数(python3实现) P5735 [深基7.例1]距离函数(python3实现)_青少年 ...
- C++:C++语言入门级基础知识考察点回顾之函数、结构体和类
C++:C++语言入门级基础知识考察点回顾之函数.结构体和类 目录 C++的函数 1.函数的定义.调用,全局变量局部变量 1.1.自定义函数求其倒数
- 【Go语言刷题篇】Go完结篇|函数、结构体、接口、错误入门学习
Go从0到入门6-Go完结篇 前言 Q1:函数-数字的阶乘 Q2:函数-绝对值 Q3:函数-加减乘除 Q4:结构体-学生信息1 Q5:结构体-学生信息2 Q6:接口-动物和老虎 Q7:错误-网络延迟 ...
- 【C 语言】结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )
文章目录 一.结构体作为函数参数 二.结构体指针作为函数参数 三.完整代码示例 一.结构体作为函数参数 结构体变量 作为函数形参 , 在函数中 , 只能访问 该函数形参 , 无法修改 结构体内存 的值 ...
- C语言结构体里的成员数组和指针
单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如 ...
最新文章
- 李开复:AI巨头是有史以来最难以打破的垄断
- c++ vector 指针
- USB的pid和vid以及usb路径名字之间的关系
- 『数据中心』供配电与空调设计基础知识
- jmeter的性能监控框架搭建记录(Influxdb+Grafana+Jmeter)
- functools学习有感
- 在docker容器中安装ifconfig、ping等工具
- python学习(七)----测试代码
- stm32与绝对式编码器的ssi接口进行通信
- 同步助手 android 微信 表情包,微信表情轻松导,同步助手带你装逼带你飞
- 基于Spring MVC + Spring + MyBatis的【网上购物系统】
- NDK开发(八) :JNI下Bitmap的使用
- 电话面试的技巧和注意事项
- 人生之路1.20代码 第二部分
- [PC]极品飞车2 特别版
- 计算机任务管理器无法响应,电脑任务管理器经常未响应怎么办
- 启动springboot报错:程序包org.springframework.boot不存在
- 补交20145226蓝墨云班课 -- 正则表达式作业
- AI First:互联网进步的背后,反映出的是流量的再分配
- LeetCode1219 黄金矿工
热门文章
- springboot设置默认值_spring boot jpa存储数据的默认值为java的默认值
- SpringBoot2.x 整合 Ueditor
- (企业案例)使用Nacos持久化规则,改造sentinel-dashboard
- PLSQL查询字段为科学计数法,修正显示
- 解决由于没有办理权限导致的403,权限不足
- 天线接收功率计算公式_对讲机天线到底有多重要?通信效果好不好全靠它了!...
- python正则表达式提取字符串的字母_Python正则表达式提取一部分字符串
- python数据分析简答题_Python数据分析与数据可视化-中国大学mooc-试题题目及答案...
- 绿联串口线linux驱动下载,绿联usb转db9驱动下载
- qt窗口左上角坐标变动函数使用中的误区