C++ map 容器的元素默认按键值升序排序,所以获取最大值可以通过 map.rbegin()->first 来实现。map.rbegin() 返回指向最后一个元素的迭代器,而 map.rbegin()->first 返回的是最后一个元素的键值,也就是 map 容器中最大的键值。

例如:

#include <iostream>
#include <map>

int main() {
  std::map<int, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};
  std::cout << "最大值:" << myMap.rbegin()->first << std::endl;
  return 0;
}

输出结果为:

最大值:3

需要注意的是,如果 map 容器为空,则 map.rbegin() 将返回一个指向 map.end() 的迭代器,此时 map.rbegin()->first 将导致程序崩溃。因此在使用 map.rbegin()->first 获取最大值之前,需要确保 map 容器非空。

C++ map容器:如何获取最大值?

原文地址: https://www.cveoy.top/t/topic/orDM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录