这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战
前言
在我们使用C++来写算法时经常会使用到algorithm库,下面我们来通过一个题目来简单展示一下这个函数的功能。
题目
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式:
每个测试输入包含 1 个测试用例,格式为
第 1 行:正整数 n
第 2 行:第 1 个学生的姓名 学号 成绩
第 3 行:第 2 个学生的姓名 学号 成绩
… … …
第 n+1 行:第 n 个学生的姓名 学号 成绩
其中姓名
和学号
均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:
对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。
输入样例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95结尾无空行
输出样例:
Mike CS991301
Joe Math990112结尾无空行
思路
使用algorithm库中的sort函数来进行快速排序在按要求输出内容
sort函数
sort(a,b,c)
a : 数组头指针
b: 数组头指针+数组长度
c:比较函数指针
注意:sort数组采用了前闭后开的集合来存放数组
代码
1、建立一个结构体来记录学生的各种属性
struct Student
{
char name[11];
char number[11];
int great;
} student[N];
2、创建一个比较函数
bool cmp(Student a,Student b){
return a.great > b.great;
}
3、调用sort函数进行比较
sort(student,student+n,cmp);
1 | c++复制代码#include<iostream> |
本文转载自: 掘金