首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

对于map容器的访问解决思路

2012-02-14 
对于map容器的访问求助,两map容器 map1和map2长度相等,有迭代器b和e都指向map2,怎么访问与b和e之间所有元

对于map容器的访问
求助,两map容器 map1和map2长度相等,有迭代器b和e都指向map2,怎么访问与b和e之间所有元素位置相对应的map1中的元素?
要求不能改变两个容器中元素的值。

[解决办法]

C/C++ code
for(it1=map1.begin(),it2=map2.begin();it2<=e;it1++,it2++){    if(it2>=b)        cout<<it1->second<<endl;}
[解决办法]
探讨
map的迭代器并不支持随机访问,也就是不能用iter += 3之类的语句。要想访问b到e范围的内容复杂度已经是n了,一楼的解法不过是遍历两次,但复杂度毕竟还是n。由于不能随机访问,我想1楼的方法应该是不能再有很大优化了。

热点排行