bool comp(const pair<int, int>& a, const pair<int,int>& b){
if (v[a.first]>v[b.first]) {
return true;
}
else if(v[a.first] == v[b.first] && a.second < b.second){
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
所以,我正在通过一个代码,我遇到了这个比较器函数,用于排序对的向量.现在,我对C++很新.我试着阅读关于这个比较器如何工作的其他问题?但我无法理解.为什么返回类型是bool?返回值true意味着什么?
该函数comp返回true,a应该b在排序数组之前找到.
在这个实现中,当两者v[a.first]都大于时,就是这种情况v[b.first].当first成员相等且a.second小于时b.second,它也返回true.
换句话说,排序的数组将被排序以v按递减顺序传递值.对于相等的值,数组按second变量按升序排序.
| 归档时间: |
|
| 查看次数: |
4391 次 |
| 最近记录: |