在向量c ++组中找到具有最大尺寸的向量

时间:2015-04-24 15:21:30

标签: c++ vector stl

给定矢量矢量,我想找到具有最小尺寸的矢量,并使用以下代码:

 bool Longest(vector<int> &A, vector<int> &B){
       return A.size()>B.size();
 }
 vector<vector<int> >::iterator max_itr= max_element(L.begin(),L.end(),Longest);

其中L是向量的矢量(vector<vector<int> >

我一直得到指向L.begin()的迭代器点。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果第一个操作数 less 而不是第二个操作数,则传递给std::max_element的比较仿函数对象应返回true。你的比较是错误的。你需要

bool Longest(const vector<int> &A, const vector<int> &B)
{
   return A.size() < B.size();
}

另请注意,参数最好是const引用,因为比较操作不应修改其操作数。

这是working example