21xrx.com
2024-09-20 05:56:44 Friday
登录
文章检索 我的文章 写文章
C++ Map的几种遍历方式
2023-06-28 09:15:08 深夜i     --     --
C++ Map 遍历 方式

Map是C++中的一个容器,它是以键值对的形式存储数据的,通过键可以快速地访问到对应的值。Map中的数据是按照键的大小有序排列的,因此在进行遍历时需要注意遍历的顺序,下面介绍几种常见的Map遍历方式。

1. 使用迭代器遍历Map

遍历Map最常见的方式是使用迭代器,其语法如下:


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

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

这里的`map.begin()`和`map.end()`是Map容器的两个迭代器,前者指向Map的第一个键值对,后者指向Map容器最后一个键值对的下一个位置。迭代器通过`->`运算符获取键和值。

2. 使用auto遍历Map

使用`auto`关键词可以更加简洁地遍历Map,其语法如下:


for (auto elem : map)

  cout << elem.first << " : " << elem.second << endl;

这里的`auto elem`是一个自动类型推断的变量,其类型会根据Map容器中的元素类型自动识别,通过`.`运算符获取键和值。

3. 使用范围for循环遍历Map

使用范围for可以更加简洁地遍历Map,其语法如下:


for (const auto& [key, value] : map)

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

这里的`[key, value]`是一个元组,用于同时获取Map容器中的键值对。使用`auto&`将元组的引用赋值给变量,通过`[key]`和`[value]`来获取元组中的键和值。

总结一下,以上是三种比较常用的遍历Map的方式。需要注意的是,在进行遍历时需要注意Map容器的顺序,在迭代器需要从`map.begin()`开始遍历,到`map.end()`为止,而在使用auto和范围for循环遍历Map容器时,是按照Map容器中元素的顺序遍历的。

  
  

评论区

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