1 /*
 2     std::map 是一个关联容器,它存储的是键值对(key - value),每个键(key)都是唯一的,
 3     并且会根据键自动进行排序(默认是按键的升序排列)。通过键可以快速查找与之关联的值,
 4     查找的时间复杂度为 O(logn)。std::map 通常使用红黑树这种平衡二叉搜索树来实现。
 5 */
 6 
 7 #include <iostream>
 8 #include <map>
 9 #include <string>
10 #include<cstdio>
11 using namespace std;
12 
13 int main() {
14     // 创建一个存储字符串到整数映射的 map
15     map<string, int> myMap;
16     
17     // 插入键值对
18     myMap["apple"] = 1;
19     myMap["banana"] = 2;
20     myMap["cherry"] = 3;
21     
22     // 访问 map 中的元素
23     cout << "apple 对应的值: " << myMap["apple"] << endl;
24     
25     // 检查键是否存在
26     if (myMap.find("banana")!= myMap.end()) {
27         cout << "banana 存在于 map 中" << endl;
28     }
29     
30     // 遍历 map,auto 是 C++ 的类型推导关键字,编译器会根据 myMap 中元素的实际类型自动推导出 pair 的类型
31     // & 表示引用。使用引用可以避免在遍历过程中对元素进行复制,从而提高效率,尤其是当元素类型比较大时。
32     for (const auto& pair : myMap) {
33         std::cout << pair.first << ": " << pair.second << std::endl;
34     }
35     
36     // 删除键值对
37     myMap.erase("cherry");
38     
39     // 输出 map 的大小
40     std::cout << "map 的大小: " << myMap.size() << std::endl;
41     
42     return 0;
43 }

 

posted on 2025-02-26 22:30  FYJUN2077  阅读(17)  评论(0)    收藏  举报