在没有"predicate"的对向量上max_element

max_element on vector of pairs without "predicate"

本文关键字:max element 向量 predicate      更新时间:2023-10-16

我想找到pairsvector的最大元素。我的标准是:最大元素是该对中第二个值最高的元素。我做到了:

auto max_angle = std::max_element(begin(angles), end(angles),
            [](const std::pair<int, int>& left, const std::pair<int, int>& right){
            return left.second <  right.second;
        });

不写谓语就可以做到吗?由于它是一个std结构,有没有更简单的方法来实现对?

不可以,因为默认情况下,std::pair s是按字典进行比较的,意思是从左到右按元素进行比较。因此,您的解决方案是最简单的解决方案。