21xrx.com
2024-11-05 17:24:14 Tuesday
登录
文章检索 我的文章 写文章
C++中如何遍历unordered_map?
2023-06-23 01:14:42 深夜i     --     --
C++ unordered_map 遍历

在C++中,unordered_map是一种容器,它存储的是键值对(key-value)映射关系,其中key是唯一的,value可以重复。它是基于哈希表实现的,因此不会有排序操作,但是遍历是必须的操作,那么如何遍历呢?

遍历unordered_map有两种常用方法:

1.使用迭代器

可以通过unordered_map的begin()和end()函数来获取迭代器,然后通过循环遍历每一个键值对。


unordered_map<int,string> myMap;

myMap[1] = "apple";

myMap[2] = "banana";

myMap[3] = "orange";

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

  cout << "Key: " << it->first << " Value: " << it->second << endl;

上述代码中,使用auto关键字定义了一个迭代器it,将myMap的begin()返回值赋给it,然后循环遍历直到it等于myMap的end()返回值为止,每次输出it所指向的键值对。

2.使用范围for循环

使用C++11引入的范围for循环也可以遍历unordered_map。


unordered_map<int,string> myMap;

myMap[1] = "apple";

myMap[2] = "banana";

myMap[3] = "orange";

for(auto& item : myMap)

  cout << "Key: " << item.first << " Value: " << item.second << endl;

上述代码中,使用范围for循环遍历unordered_map,遍历过程中item会自动迭代每一个键值对,item的类型是unordered_map ::value_type,也就是一个pair类型,first表示key,second表示value。

以上就是遍历unordered_map的两种方法,读者可以根据实际场景选择相应的方法进行操作。

  
  
下一篇: C++关键字大全

评论区

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