【HJ68】成绩排序(stable_sort)

网友投稿 650 2022-10-30

【HJ68】成绩排序(stable_sort)

【HJ68】成绩排序(stable_sort)

1.题目

2.思路

成绩排序题,定义一个学生结构体vector数组​​vectorstu(n)​​​再进行sort。题目说了相同成绩的按照先录入的顺序排列,可以用​​stable_sort​​保证两个结构体的内容相同时不交换次序。

从C++ 使用const 引用传递参数​这篇可知:c++使用引用传递节省内存开销。 (1)引用传递是双向的,当在函数中对于形参的数据进行改变后,实参的值也会进行相应的改变。

(2)如果我们既不想改变传入参数的值,也不想因为值传递产生太大的开销,如:可以将void Display(vector res) 改为常引用 void Display(const vector< int >& res) 。

3.代码

#include#include#include#includeusing namespace std;struct student{ string name; int score;};bool cmp0(const student &a,const student &b){ return a.score>b.score;//从高到低排序}bool cmp1(const student &a,const student &b){ return a.score>n>>type){ vectorstu(n); for(int i=0;i>stu[i].name>>stu[i].score; }//输入完毕 if(type==0) stable_sort(stu.begin(),stu.end(),cmp0); if(type==1) stable_sort(stu.begin(),stu.end(),cmp1); for(int i=0;i

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实用的工具用于在iOS应用程序开发中实现发送反馈
下一篇:LanMiaoDesktop 一个完整electron桌面记账程序,技术栈主要使用electron-vue+vuetify
相关文章

 发表评论

暂时没有评论,来抢沙发吧~