#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
struct stu{
int mark;
string name;
int age;
};
bool cmp(stu a, stu b){
return (a.mark<b.mark) || (a.mark == b.mark&&a.name<b.name) || (a.mark == b.mark&&a.name==b.name&&a.age<b.age);
}
int main(){
int n;
cin >> n;
vector<stu> arr(n + 1);
for (int i = 0; i < n; i++){
cin >> arr[i].name;
cin >> arr[i].age;
cin >> arr[i].mark;
}
sort(arr.begin(), arr.end(), cmp);
for (int i = 1; i <= n; i++){
cout << arr[i].name << ' ' << arr[i].age << ' ' << arr[i].mark << endl;
}
// while (1);
return 0;
}
为什么对vector执行sort之后,第0个没有元素,是从第一个开始的?