鱼C论坛

 找回密码
 立即注册
查看: 2024|回复: 4

[已解决]c++中map函数求解

[复制链接]
发表于 2023-7-30 10:19:11 | 显示全部楼层
当涉及到C++中的 map 函数,通常是指 std::map ,它是C++标准库中的一个关联容器,用于实现键-值对的映射。 std::map 内部会根据键的排序规则自动将键值对进行排序,这使得在查找特定键的值时具有较好的性能。

要使用 std::map ,您需要包含头文件 <map> 。以下是 std::map 的基本用法示例:

  1. #include <iostream>
  2. #include <map>

  3. int main() {
  4.     std::map<std::string, int> scores; // 创建一个存储string键和int值的map

  5.     // 插入键值对
  6.     scores["Alice"] = 85;
  7.     scores["Bob"] = 70;
  8.     scores["Charlie"] = 92;

  9.     // 访问键值对
  10.     std::cout << "Alice的分数:" << scores["Alice"] << std::endl;

  11.     // 检查键是否存在
  12.     if (scores.find("David") != scores.end()) {
  13.         std::cout << "David的分数:" << scores["David"] << std::endl;
  14.     } else {
  15.         std::cout << "David的分数不存在" << std::endl;
  16.     }

  17.     // 遍历map中的所有键值对
  18.     for (const auto& pair : scores) {
  19.         std::cout << pair.first << ": " << pair.second << std::endl;
  20.     }

  21.     return 0;
  22. }
复制代码


输出:
  1. Alice的分数:85
  2. David的分数不存在
  3. Alice: 85
  4. Bob: 70
  5. Charlie: 92
复制代码


在上面的示例中,我们创建了一个 std::map ,其键是 std::string 类型,值是 int 类型。然后,我们插入了三个键值对,并演示了如何访问和遍历 std::map 中的键值对。

请注意, std::map 对键进行排序,因此在遍历时会按照键的顺序输出键值对。如果您需要根据特定规则进行排序,可以使用自定义比较函数或者使用 std::unordered_map 来实现无序键值对存储。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-23 03:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表