c++ 遍历map的三种方式
1、方法介绍1.1、基于范围的for循环for(auto &t : m){cout<<"key:"<<t.first<<" value:"<<t.second<<endl;}1.2、普通for循环for(map<int,string>::iterator iter = m.begin(); iter != m.end(
文章共1,368字 · 阅读需要大约5分钟
一键AI生成摘要,助你高效阅读
问答
·
1、方法介绍
1.1、基于范围的for循环
for(auto &t : m){
cout<<"key:"<<t.first<<" value:"<<t.second<<endl;
}
1.2、普通for循环
for(map<int,string>::iterator iter = m.begin(); iter != m.end(); ++iter){
cout<<"key:"<<iter->first<<" value:"<<iter->second<<endl;
}
1.3、while 循环
map<int,string>::iterator iter=m.begin();
while(iter != m.end()){
cout<<"key:"<<iter->first<<" value:"<<iter->second<<endl;
++iter;
}
2、完整代码
//遍历map的三种方式
//by 鸟哥
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main(){
map<int,string> m{};
m[0]="aaa";
m[1]="bbb";
m[2]="ccc";
map<int,string>::iterator it;
//方式一
cout<<"方式一:"<<endl;
for(auto &t : m){
cout<<"key:"<<t.first<<" value:"<<t.second<<endl;
}
//方式二
cout<<"方式二:"<<endl;
for(map<int,string>::iterator iter = m.begin(); iter != m.end(); ++iter){
cout<<"key:"<<iter->first<<" value:"<<iter->second<<endl;
}
//第三种
cout<<"方式三:"<<endl;
map<int,string>::iterator iter=m.begin();
while(iter != m.end()){
cout<<"key:"<<iter->first<<" value:"<<iter->second<<endl;
++iter;
}
}
3、运行结果:
注:测试环境为在线编译器 https://compiler-explorer.com/
方式一:
key:0 value:aaa
key:1 value:bbb
key:2 value:ccc
方式二:
key:0 value:aaa
key:1 value:bbb
key:2 value:ccc
方式三:
key:0 value:aaa
key:1 value:bbb
key:2 value:ccc
4、运行截图
5、参考资料
https://en.cppreference.com/
https://learn.microsoft.com/
https://compiler-explorer.com/
作者:鸟哥
希望我的文章对您有所帮助,如有问题请在下方留言。
限于本人水平,文中内容难免有错,如有错误望不吝指出。
如有csharp .net objectarx autocad autolisp 计算几何 c++ 等方面的问题,我们可以一起交流。
最后感谢所有帮助过我的老师和朋友。
更多推荐
已为社区贡献9条内容
所有评论(0)