21xrx.com
2024-12-23 01:31:30 Monday
登录
文章检索 我的文章 写文章
C++的unordered_map使用方法
2023-07-10 14:50:18 深夜i     --     --
C++ unordered_map 使用方法

C++的unordered_map是一种基于哈希表实现的关联容器,它提供了快速的查找和插入操作。在使用时,我们需要了解如何定义unordered_map对象、如何访问和修改其中的元素以及如何进行遍历。

1.定义unordered_map对象

我们可以使用下面的语句来定义一个unordered_map对象:


#include <unordered_map>

using namespace std;

unordered_map<key_type, value_type> map_name;

其中,key_type指的是键的类型,value_type指的是值的类型,map_name是unordered_map对象的名称。

例如:


#include <unordered_map>

#include <string>

using namespace std;

unordered_map<string, int> umap;

上面的代码定义了一个名为umap的unordered_map对象,其中键的类型为string,值的类型为int。

2.访问和修改元素

我们可以使用下面的语句来访问和修改unordered_map对象中的元素:


map_name[key] = value;

value_type value = map_name[key];

其中,key是键,value是要插入的值或者要读取的值。

例如:


#include <unordered_map>

#include <string>

using namespace std;

int main()

{

  unordered_map<string, int> umap;

  umap["apple"] = 10;

  umap["banana"] = 5;

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

  cout << umap["banana"] << endl; // 输出5

  umap["apple"] = 20;

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

  return 0;

}

上面的代码使用了[]操作符来访问和修改unordered_map对象中的元素。

3.遍历unordered_map对象

我们可以使用迭代器来遍历unordered_map对象中的元素。具体方法如下:


for (auto it = map_name.begin(); it != map_name.end(); ++it)

  key_type key = it->first;

  value_type value = it->second;

  // 对每个元素进行操作

其中it是指向unordered_map对象中元素的迭代器,it->first和it->second分别是键和值。

例如:


#include <unordered_map>

#include <string>

#include <iostream>

using namespace std;

int main()

{

  unordered_map<string, int> umap;

  umap["apple"] = 10;

  umap["banana"] = 5;

  for (auto it = umap.begin(); it != umap.end(); ++it)

    string key = it->first;

    int value = it->second;

    cout << key << " " << value << endl;

  

  return 0;

}

上面的代码遍历了unordered_map对象umap中的所有元素,并输出了键和值。

综上所述,unordered_map是一种非常实用的数据结构,可以用于存储键值对。要使用它,我们需要了解如何定义unordered_map对象、如何访问和修改其中的元素以及如何进行遍历。

  
  

评论区

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