news 2026/4/23 16:09:25

3375.成绩排序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3375.成绩排序

3375.成绩排序

⭐️难度:简单
⭐️类型:排序

📖题目:题目链接
给定学生的成绩单,成绩单中包含每个学生的姓名和分数,请按照要求将成绩单按成绩从高到低或从低到高的顺序进行重新排列。

对于成绩相同的学生,无论以哪种顺序排列,都要按照原始成绩单中靠前的学生排列在前的规则处理。

输入格式
第一行包含整数 N,表示学生个数。
第二行包含一个整数 0 或 1,表示排序规则,
0表示从高到低,
1表示从低到高。

接下来 N 行,每行描述一个学生的信息,包含一个长度不超过 10的小写字母构成的字符串表示姓名以及一个范围在 0∼100的整数表示分数。

输出格式
输出重新排序后的成绩单。
每行输出一个学生的姓名和成绩,用单个空格隔开。

🌟思路:
定义两个compare函数,判断要进行的排序是升序还是降序,从而传递不同的参数进sort;
难点是sort是不稳定排序,需要通过一个seq变量的帮助,把sort函数改成稳定排序

📚题解:

#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<vector>// vector不需要.h#include<list>#include<set>// // 可以用 set 和 multiset#include<unordered_set>// 可以用 unordered_set 和 unordered_multimap#include<map>// 可以用 map 和 multimap#include<unordered_map>// 可以用 unordered_map 和 unordered_multimap#include<algorithm>usingnamespacestd;structStudent{charname[10];intscore;intseq;// 用来实现稳定排序};boolcompare0(Student lhs,Student rhs){// 实现降序if(lhs.score>rhs.score){returntrue;}elseif(lhs.score==rhs.score&&lhs.seq<rhs.seq){// 成绩相等时,序号由低到高排序returntrue;}else{returnfalse;}}boolcompare1(Student lhs,Student rhs){// 实现升序if(lhs.score<rhs.score){returntrue;}elseif(lhs.score==rhs.score&&lhs.seq<rhs.seq){// 成绩相等时,序号由低到高排序returntrue;}else{returnfalse;}}intmain(){intn;scanf("%d",&n);vector<Student>vec(n);intflag;scanf("%d",&flag);// 0降序,1升序for(inti=0;i<n;i++){scanf("%s%d",vec[i].name,&vec[i].score);vec[i].seq=i;}if(flag==0){sort(vec.begin(),vec.end(),compare0);// 实现升序}else{sort(vec.begin(),vec.end(),compare1);// 实现降序}for(inti=0;i<n;i++){printf("%s %d\n",vec[i].name,vec[i].score);}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 22:56:46

排查流程啊啊啊

基于已有的 export_onnx.py 方法和 onnx_postprocess_fix_slice.py 方法和train2.py 的修改网络结构&冻结backbone训练&#xff0c;为了解决slice问题&#xff0c;我该采用怎么样的排查流程或者排查顺序&#xff1f; 下面给你一个最稳妥、成本最低的排查顺序&#xff08;从…

作者头像 李华
网站建设 2026/4/23 13:57:31

高级网络安全爬虫/蜘蛛

Spider Suite 是一款面向网络安全专业人员的先进跨平台、多功能图形用户界面网络爬虫/网络爬虫工具。它可用于攻击面映射和分析。更多信息请访问 Spider Suite网站。 安装和使用 Spider Suite 的设计旨在方便安装和使用&#xff0c;即使是新手也能轻松上手。 首先&#xff0c;下…

作者头像 李华
网站建设 2026/4/17 19:25:22

Java计算机毕设之基基于BS模式文献搜索系统的设计与实现于springboot+bs架构的文献搜索系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/23 1:05:58

Java毕设选题推荐:基于Java web的电影院选票系统电影场次编号、电影名称、该场次电影单价、播放日期、播放时间段、所在放映厅、放映厅座位当【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/23 16:07:24

Java多线程编程技巧:面试必看的几种实现方式!

文章目录 Java多线程编程技巧&#xff1a;面试必看的几种实现方式&#xff01;为什么我们需要多线程&#xff1f;Java多线程的实现方式1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 使用线程池&#xff08;ThreadPoolExecutor&#xff09;5. 并行流&#xff08;Ja…

作者头像 李华