1.sort自定义排序返回true的理解
sort(first,last,cmp)
bool cmp(const int& a,cosnt int& b)
{
return a<b; 1
//return b<a; 2
}
可以把参数中的a,b
理解为从数组中顺序提取的两个数。这两个数的顺序是a在前,b在后。
如果要使数据从小到大排序,也就是a<b
的时候返回true
,当a<b
时说明较小的那个数已经排到数组的前面去了,不用进行再调整,排序完成
如果要使数据从大到小排序,那么应该返回a>b
,表示当a>b
为true
不用再进行排序,较大的数已经移动到前面。
重载运算比较符
bool operator<(cosnt A& t1,cosnt A& t2)
{
if(t1.height == t2.height)
return t1.weight<t2.weight;
else return t1.height<t2.height;
}
对于重载的运算比较符,上述也是一样的推理。
默认t1,t2为容器中的排序,t1在前,t2在后,当t1的身高等于t2的身高的时候,比较他俩的体重,如果想要体重从小到大排序,就返回t1.weight<t2.weight
表示当t1的体