有没有一种使用STL查找容器中最大元素的便捷方法?

问题描述 投票:0回答:3

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

c++ algorithm max std
3个回答
17
投票

您始终可以使用 std::max_element 并传递一个自定义比较器,该比较器比较两个

std::vector<int>
的大小作为参数。


0
投票

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


0
投票

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

快速选择

© www.soinside.com 2019 - 2024. All rights reserved.