1 //method2 手动排序
2 #include<iostream>
3 #include<string>
4 #include<vector>
5 #include<algorithm>
6 #include<windows.h>
7
8 using namespace std;
9
10 struct student
11 {
12 string name;
13 string sid;
14 int grade;
15 student(const string &name, const string &sid, int grade) :name(name), sid(sid), grade(grade){ } //constructor
16 };
17
18 int main()
19 {
20 int grade;
21 int n, cnt = 0;
22 string name, sid;
23 vector<student> v;
24 cin >> n;
25 while (cnt != n)
26 {
27 ++cnt;
28 cin >> name >> sid >> grade;
29 v.push_back(student(name, sid, grade));
30 }
31 sort(v.begin(), v.end(), [](student &s1, student &s2)
32 {
33 return s1.grade > s2.grade;
34 });
35 cout << v.front().name << " " << v.front().sid << endl;
36 cout << v.back().name << " " << v.back().sid << endl;
37
38 system("pause");
39 return 0;
40 }