有没有办法使用STL在容器内找到最大的容器? ATM,我有这个 相当天真的做法:
int main()
{
std::vector<std::vector<int> > v;
...
unsigned int h = 0;
for (std::vector<std::vector<int> >::iterator i = v.begin(); i != v.end(); ++i) {
if (*i.size() > h) {
h = *i.size();
}
}
}
答案 0 :(得分:17)
您始终可以使用std::max_element并传递一个自定义比较器,将两个std::vector<int>
的大小作为参数进行比较。
答案 1 :(得分:0)
您是否考虑过使用STL排序方法对容器进行排序?
答案 2 :(得分:0)
您可以使用快速选择,然后选择最末端的值: