21xrx.com
2024-11-05 18:35:01 Tuesday
登录
文章检索 我的文章 写文章
C++中的Map和Multimap用法详解
2023-07-10 00:33:10 深夜i     --     --
C++ Map Multimap 用法 详解

在C++中,Map和Multimap是非常常用的容器类型,它们可以帮助程序员方便地管理数据。本文将详细讲解这两种容器的用法。

一、Map的用法

Map是一种关联型容器,它能够将一些有关联的键值对存放在一起,我们可以通过这些键值对的键来访问它们的值。在C++语言中,Map是使用红黑树实现的,它具有以下几个特点:

1. Map容器中的元素是按照键值排序的,这样能够帮助我们更快地查找元素。

2. 每个键只允许出现一次,如果我们想要插入一个键值对,而这个键已经存在了,那么就会覆盖掉原来的值。

下面是Map的使用方法:

1. 初始化

我们可以使用以下方式来初始化Map容器:

map myMap; // 创建一个空的Map容器

map myMap = { "one", "two", "three"}; // 使用初始化列表来创建Map容器

2. 插入元素

我们可以使用以下方式来插入元素:

myMap.insert(pair (4, "four"));

myMap.insert(make_pair(5, "five"));

myMap[6] = "six";

3. 访问元素

我们可以使用以下方式来访问元素:

myMap[1]; // 访问键为1的元素

myMap.at(2); // 访问键为2的元素

4. 删除元素

我们可以使用以下方式来删除元素:

myMap.erase(3); // 删除键为3的元素

myMap.clear(); // 清空Map容器

二、Multimap的用法

Multimap也是一种关联型容器,它与Map的不同在于同一个键可以对应多个值。在C++语言中,Multimap也是使用红黑树来实现的。

下面是Multimap的使用方法:

1. 初始化

我们可以使用以下方式来初始化Multimap容器:

multimap myMultimap; // 创建一个空的Multimap容器

multimap myMultimap = { "one", "two", "numOne"}; // 使用初始化列表来创建Multimap容器

2. 插入元素

我们可以使用以下方式来插入元素:

myMultimap.insert(pair (1, "numOne"));

myMultimap.insert(make_pair(2, "numTwo"));

3. 访问元素

Multimap容器中同一个键值对应的值可能不止一个,我们需要使用迭代器来访问元素:

auto range = myMultimap.equal_range(1); // 获取键为1的所有元素

for (auto i = range.first; i != range.second; i++)

cout << i->second << endl;

4. 删除元素

我们可以使用以下方式来删除元素:

myMultimap.erase(1); // 删除键为1的元素

myMultimap.clear(); // 清空Multimap容器

总结

Map和Multimap是非常常用的容器,它们能够极大地简化程序员的工作。无论是Map还是Multimap,它们的使用方法都非常简单,我们只需按照上述步骤来操作即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复