题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/3f27a0a5a59643a8abf0140b9a8cf1f7

#include<iostream>
#include<algorithm>
#include<vector>

struct Student
{
    int num;
    int grade;
    Student(int n, int g)
        : num(n), grade(g)
    {
    }   
};

bool compare(const Student& a, const Student& b)
{
    if(a.grade < b.grade)
    {
        return true;
    }else if(a.grade > b.grade)
    {
        return false;
    }

    return a.num < b.num;
}

int main()
{
    int n;
    std::cin >> n;
    std::vector<Student> students;
    students.reserve(n);//预先指定要分配的内存数量
    for(int i = 0;i < n;i++)
    {
        int p,q;
        std::cin >> p >> q;
        students.emplace_back(p, q);//直接传递参数,利用构造函数,而不是传递对象,避免复制加快执行速度
    }
    std::sort(students.begin(), students.end(), compare);
    for(Student student : students)
    {
        std::cout << student.num << " " << student.grade << "\n";
    }
}

全部评论

相关推荐

马里奥天生励志:估计是寄了,又是一个测试发现网的
点赞 评论 收藏
分享
珩珺:那些经历都太大太空了,实习的情况不了解,大创项目连名字、背景、目的及意义都没体现出来;地摊经济更是看完连卖的什么产品都不知道,项目成果直接写营收多少都更直观真实一点;后面那个校文体部的更是工作内容是组织活动整理流程,成果变成了当志愿者,而且你们学校本科学生会大一入学就直接当部长吗,志愿里面还提到了疫情防控,全面解封是22年12月的事情,可能时间上也有冲突。可能你花了钱人家就用AI给你随便写了点内容改了一下,没什么体现个性化的点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务