从std :: map查找具有最大值的元素

aj3423

我正在尝试从std :: map获取具有最大值的元素,

int main() {
    map<int, int> m;
    m[1] = 100;
    m[2] = -1;

    auto x = std::max_element(m.begin(), m.end(), m.value_comp());

    cout << x->first << " : " << x->second << endl;
}

为什么打印第二个元素2 : -1

李维

这里拍摄

auto x = std::max_element(m.begin(), m.end(),
    [](const pair<int, int>& p1, const pair<int, int>& p2) {
        return p1.second < p2.second; });

而不是使用std::map::value_comp()(比较键值)查看second包含该值的对中的成员。这使用了lambda表达式,因此您必须使用C ++ 11支持进行编译

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在指定变量结构的 std::vector 中查找最大值

查找std :: map中具有给定前缀的键或std :: set中的元素的优雅方法

在python中递归查找具有最大值的元素

具有std :: map值的std :: map的问题

哪个执行速度更快?具有N个派生类型的vtable查找,或具有N个元素的std :: map查找?

如何在std :: map中查找具有至少一个等于键的数据成员的结构的元素

如何在std :: vector中找到std :: pair的第二个元素的最大值?

在 std::map < int , std::vector <int >> 中查找 vector 中元素的值

Java Stream:查找具有属性的最小/最大值的元素

Ruby使用max_by在多维数组中查找具有最大值的元素

具有不同函数类型值的 std::map

具有日期值的逐元素最大值

gdb:如何获取std :: vector <float>的最大值?

查找具有最大值的父对象

查找每行具有最大值的列名

查找组中具有最大值的行

查找每行具有最大值的列索引

查找组中具有最大值的记录

在键值对的 PCollection 中查找具有最大值的键

在std :: pair的std :: vector中找到最小值和最大值

查找具有最大值的元素的INDEX。使用AVX512指令的绝对值

寻找具有最大值属性的元素更快

在std :: set中查找std :: vector的元素

从Kotlin的Map获取具有最大值的条目

Python 在具有未定义整数和浮点数的列表和元素列表中查找最大值

C ++ std :: map查找值但不查找键

查找元组元素的最大值c ++

std :: atomic作为std :: map的值

C ++ std :: map获取X下方具有最高键的元素?