结构体中的比较排序
bool compare(const people& s1,const people& s2){
if(s1.c==s2.c){
if(s1.year==s2.year){
return s1.name<s2.name;
}
return s1.year>s2.year;
}
return s1.c>s2.c;
}
比较函数 compare: bool compare(const people& s1,const people& s2):这是一个自定义的比较函数,用于 sort 函数的第三个参数。它定义了 people 结构体的排序规则: 首先比较 c 的大小,如果 s1.c == s2.c,则比较 year 的大小,按照 year 从大到小排序(即出生年份越早越靠前)。 如果 s1.year == s2.year,则比较 name 的大小,按照 name 的字典序从小到大排序。 否则,按照 c 的大小从大到小排序。
注意:bool compare(const people& s1,const people& s2){
if(s1.c==s2.c){
return s1.year>s2.year;
}else if(s1.year==s2.year){
return s1.name<s2.name;
}
return s1.c>s2.c;
}
这样写会有小问题。