C++ sort()对结构体排序

时间:2020-03-02 14:06:18   收藏:0   阅读:860

重写仿函数(函数指针法)

#include<iostream>
#include<algorithm>
using namespace std;

struct stu{
    int num;
    float score;
}; 

bool cmp(const stu &a, const stu &b){
    return a.score < b.score;
}

int main(){
    stu nums[3] = {{1,98.5}, {2,88.5}, {3,68.5}};
    sort(nums, nums + 3, cmp);
    for(int i = 0; i < 3; ++ i)
    {
        cout << nums[i].score <<endl;
    }
    return 0;
}

重载运算符(struct内部 + struct外部)

#include<iostream>
#include<algorithm>
using namespace std;

struct stu{
    int num;
    float score;
    bool operator<(const stu &a) const
    {
        return score < a.score;
    }
}; 

int main(){
    stu nums[3] = {{1,98.5}, {2,88.5}, {3,68.5}};
    sort(nums, nums + 3);
    for(int i = 0; i < 3; ++ i)
    {
        cout << nums[i].score <<endl;
    }
    return 0;
}
#include<iostream>
#include<algorithm>
using namespace std;

struct stu{
    int num;
    float score;
}; 

bool operator<(const stu &a, const stu &b)
{
    return a.score < b.score;
}

int main(){
    stu nums[3] = {{1,98.5}, {2,88.5}, {3,68.5}};
    sort(nums, nums + 3);
    for(int i = 0; i < 3; ++ i)
    {
        cout << nums[i].score <<endl;
    }
    return 0;
}

原文:https://www.cnblogs.com/xiaobaizzz/p/12394951.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!