有没有方便的方法使用STL在容器中找到最大元素?

时间:2009-05-20 13:39:47

标签: c++ stl

有没有办法使用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();
                }
        }
}

3 个答案:

答案 0 :(得分:17)

您始终可以使用std::max_element并传递一个自定义比较器,将两个std::vector<int>的大小作为参数进行比较。

答案 1 :(得分:0)

您是否考虑过使用STL排序方法对容器进行排序?

答案 2 :(得分:0)

您可以使用快速选择,然后选择最末端的值:

Quick Select