c++怎么遍历map
时间: 2023-10-18 15:30:39 浏览: 161
Map遍历方法
在C++中,遍历map有多种方式。根据引用中的代码,第一种方式是使用range-based for循环遍历map。这种方式可以通过使用auto关键字来简化迭代器的声明,并直接访问键和值。例如:
```
for(auto &t : m){
cout<<"key:"<<t.first<<" value:"<<t.second<<endl;
}
```
第二种方式是使用普通的迭代器来遍历map。在引用的代码中,使用map<int,string>::iterator来声明迭代器并进行遍历。例如:
```
for(map<int,string>::iterator iter = m.begin(); iter != m.end(); iter++){
cout<<"key:"<<iter->first<<" value:"<<iter->second<<endl;
}
```
第三种方式是使用while循环和迭代器来遍历map。在引用的代码中,使用map<int,string>::iterator来声明迭代器,并在循环中通过iter++来移动迭代器。例如:
```
map<int,string>::iterator iter = m.begin();
while(iter != m.end()){
cout<<"key:"<<iter->first<<" value:"<<iter->second<<endl;
iter++;
}
```
以上是针对C++的标准库map的遍历方法。而引用中的代码展示了在C++中使用unordered_map的遍历方法,其中方式一和方式二与上述介绍的方式相同,而方式三使用了C++17的结构化绑定来同时访问键和值。例如:
```
for (auto [key, val : mp) {
cout << key << " " << val << endl;
}
```
需要注意的是,unordered_map是无序的,所以元素的排列顺序是杂乱的,无序的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [c++中 遍历map的三种方式](https://blog.csdn.net/m0_67390969/article/details/126317941)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C++ map遍历的几种方式](https://blog.csdn.net/VariatioZbw/article/details/124947520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文