美文网首页
sort函数通过cmp实现对结构体的排序

sort函数通过cmp实现对结构体的排序

作者: 被使用了吧 | 来源:发表于2019-06-04 17:23 被阅读0次

    知无涯之std::sort源码剖析

    https://blog.csdn.net/qq_16836151/article/details/51527160

    sort函数头文件<iostream>

    例题:王道机试指南

    例题

    sort(T a , T b , bool function)

    参数a为排序起始点,参数b为排序终点,function为排序规则

    cmp()返回值为bool,cmp中定义判断规则,通俗来讲,就是将排序规则直接进行翻译,返回值为符合要求的布尔表达式

    //返回要求的情况 即 排序要求

    bool cmp(Student a,Student b) {

    if (a.grades != b.grades) return a.grades < b.grades;

    else

    {

    if (strcmp(a.name, b.name) != 0)

    return strcmp(a.name, b.name) < 0;

    else

    return a.age < b.age;

    }

    }

    //主操作函数

    void WD2_2() {

    int Count = 0;

    //cin >> Count;

    while (cin >> Count)

    {

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

    {

    cin >> student[i].name;

    cin >> student[i].age;

    cin >> student[i].grades;

    }

    sort(student, student + Count, cmp);

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

    {

    cout << student[i].name << " " << student[i].age << " " << student[i].grades << endl;

    }

    return;

    }

    }

    相关文章

      网友评论

          本文标题:sort函数通过cmp实现对结构体的排序

          本文链接:https://www.haomeiwen.com/subject/prglxctx.html