222wan

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

sort函数

在平常的排序过程中我么或许常常会犯难,遇到普通的数组或许还好,但是像结构体这样的数据多了难免会有些麻烦,

我查阅资料之后找到了一个函数这个函数是库里面自带的只需要头文件#include<algorithm>

下面讲讲详细用法,首先sort(a,a+n,cmp)它里面有三个变量

a代表我们的结构体的简称,这里绝对不能写结构体的名字

a+n,a就是简称,n代表我们有多少条数据需要排序

cmp代表排序的方法是一个bool函数:是以结构体中的那个数据排序的,从大到小或者其他

下面是示例代码:

主要代码:

复制代码
void sortgroup()
{
    sort(sc,sc+20,cmp);
    int i=0;
    char sname[20]={0};

    for(i=0;i<20;i++)
    {
        if(strcmp(sc[i].sname,sname)!=0)
            printf("学校名称:%-5s\t 团体分数:%-5d\t 男子总分:%-5d\t 女子总分:%-5d\n  ",sc[i].sname,sc[i].score1,sc[i].scorem,sc[i].scorew);
        
    }
    
    
        
}
复制代码

cmp函数:

bool cmp(score a,score b)
{
    return a.score1>b.score1;
}

这个函数score就是我们的结构体,可以出它是以score1为标准进行排序,并且是从小到大排序的

sort函数这一快并没有很复杂的地方只要照着写就行

同理我们不仅可以用sort函数对结构体排列也可以对于数组进行排列原理相同,写法相同

 

posted on   角落的蘑菇  阅读(96)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示