以结构体为元素的set的自定义排序规则
这个是我抄的
struct Info
{
int math; //数学成绩
int english; //英语成绩
bool operator < (const Info &a) const
{
return a.math<math;
}
}
这应该是一个按数学成绩由高到底排列的,谁能说说重载“<”底是个什么意思,里面的&a是什么,返回了什么?
还有我想做一个排序,就是数学成绩由高到低,如果数学成绩相等,按英语成绩排,我按照上面的样子写的
bool operator < (const Info &a) const
{
if(a.math!=a)return a.math<math;
else
return a.english<englishi;
}
这样行不行?
[解决办法]
重载“<”是重载小于操作符,const Info &a 是引用,是传入参数,有const限制,不能修改
[解决办法]
注意下逻辑
- C/C++ code
bool operator < (const Info &a) const{ if(a.math!=a) return math<a.match; else return englishi<a.english;}