21xrx.com
2024-06-03 03:19:03 Monday
登录
文章检索 我的文章 写文章
C++中如何使用unordered_map无序字典
2023-07-01 06:12:40 深夜i     --     --
unordered_map C++ 使用

在C++中,unordered_map是一种基于哈希表实现的数据结构,它提供了一种无序的映射关系。使用unordered_map可以快速访问和插入具有唯一键的元素。本文将介绍C++中如何使用unordered_map无序字典。

1. 定义unordered_map

在C++中,定义unordered_map可以使用std命名空间下的unordered_map类,代码如下:


#include <unordered_map>

#include <iostream>

using namespace std;

int main() {

  unordered_map<string, int> umap = { 3, "lemon", "banana" };

  return 0;

}

上述代码中,我们定义了一个unordered_map,其中key类型为string,value类型为int,然后初始化了三个键值对("apple" : 3,"lemon" : 2,"banana" : 1)。

2. 插入元素

使用unordered_map插入元素可以使用insert()函数,代码如下:


unordered_map<string, int> umap;

umap.insert("apple");

umap.insert("lemon");

umap.insert("banana");

上述代码中,我们首先定义了一个空的unordered_map,然后使用insert()函数向其添加三个键值对。

3. 访问元素

使用unordered_map访问元素可以使用[]运算符,代码如下:


unordered_map<string, int> umap = { 3, 2, "banana" };

cout << umap["apple"] << endl; //输出3

上述代码中,我们定义了一个有三个元素的unordered_map,然后使用中括号内的key "apple" 进行访问,输出了对应的值。

4. 删除元素

使用unordered_map删除元素可以使用erase()函数,代码如下:


unordered_map<string, int> umap = { "apple", 2, 1 };

umap.erase("apple");

上述代码中,我们定义了一个有三个元素的unordered_map,然后使用erase()函数删除了key为"apple"的键值对。

5. 遍历unordered_map

使用C++11提供的for-each语法可以用来遍历unordered_map,代码如下:


unordered_map<string, int> umap = { "apple", 2, 1 };

for (const auto& p : umap)

  cout << "key: " << p.first << "

上述代码中,我们使用for-each语法遍历unordered_map,输出了每个键值对的key和value。

总结:

通过上述内容可以看出,使用unordered_map无序字典是非常简单的。我们可以定义unordered_map,插入元素,访问元素,删除元素以及遍历unordered_map。如果你需要在C++中处理需要快速访问和插入映射关系的场景,unordered_map是一个不错的选择。

  
  

评论区

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