#include #include #include #include #include #include #include

using namespace std;

int main() { // map<key_t, value_t> //mp["one"] = 1; //error no [] multimap<string, int> mp; mp.insert(make_pair("one", 20)); mp.insert(make_pair("two", 20)); mp.insert(make_pair("two", 10)); mp.insert(make_pair("two", 30)); mp.insert(make_pair("two", 40)); cout << "count two " << mp.count("two") << endl; string key = "two"; // pair< multimap<string, int>::iterator, multimap<string, int>::iterator > pr = mp.equal_range(key); auto pr = mp.equal_range(key); auto it = pr.first; for (it = pr.first; it != pr.second; it++) { cout << it->first << " " << it->second << endl; } return 0; }

// 解释每行代码内容:

  1. #include <iostream>: 包含输入输出流的库,用于标准输入输出操作。

  2. #include <vector>: 包含向量容器的库,用于存储和操作动态数组。

  3. #include <stack>: 包含栈容器的库,用于实现后进先出 (LIFO) 的数据结构。

  4. #include <queue>: 包含队列容器的库,用于实现先进先出 (FIFO) 的数据结构。

  5. #include <list>: 包含链表容器的库,用于存储和操作双向链表。

  6. #include <map>: 包含映射容器的库,用于存储键-值对,并根据键进行快速查找。

  7. #include <algorithm>: 包含算法库,用于执行常见的算法操作,如排序、查找等。

  8. multimap<string, int> mp;: 创建了一个可存储键为字符串类型、值为整数类型的多重映射容器对象mp。

  9. mp.insert(make_pair("one", 20));: 插入了一个键值对,键为'one',值为20,将其添加到mp中。

  10. mp.insert(make_pair("two", 20));: 插入了一个键值对,键为'two',值为20,将其添加到mp中。

  11. mp.insert(make_pair("two", 10));: 插入了一个键值对,键为'two',值为10,将其添加到mp中。

  12. mp.insert(make_pair("two", 30));: 插入了一个键值对,键为'two',值为30,将其添加到mp中。

  13. mp.insert(make_pair("two", 40));: 插入了一个键值对,键为'two',值为40,将其添加到mp中。

  14. cout << "count two " << mp.count("two") << endl;: 输出字符串'count two '和键为'two'的键值对在mp中的数量。

  15. string key = "two";: 创建了一个字符串变量key,并赋值为'two'。

  16. auto pr = mp.equal_range(key);: 创建了一个auto类型变量pr,并调用mp.equal_range()函数来获取键为key的键值对范围。

  17. auto it = pr.first;: 创建了一个auto类型变量it,并将其初始化为pr.first,即键值对范围的起始位置。

  18. for (it = pr.first; it != pr.second; it++) {: 循环遍历键值对范围,从起始位置it开始,直到结束位置pr.second,每次迭代递增it。

  19. cout << it->first << " " << it->second << endl;: 输出当前迭代的键值对的键和值。

  20. return 0;: 返回程序执行成功的标志。

C++ 多重映射容器(multimap)使用示例与解释

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

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