c++map容器的遍历
#include<map>
#include<iterator>#include<string>
#include<iostream>
#include<cstring>
using namespace std;
struct itemstruct
{
int a;
char b[20];
itemstruct(int t,char*str)
{
a=t;
strcpy(b,str);
}
};
int main()
{
map<string,itemstruct>mymap;
mymap.insert(make_pair("a",itemstruct(10,"hanzhou")));
mymap.insert(make_pair("ab",itemstruct(20,"fuzhou")));
mymap.insert(make_pair("abc",itemstruct(30,"zhengzhou")));
mymap.insert(make_pair("abcd",itemstruct(200,"wuhan")));
mymap.insert(make_pair("abcde",itemstruct(150,"kunming")));
mymap.insert(make_pair("abcdef",itemstruct(50,"xiamen")));
map<string,itemstruct>::iterator it=mymap.begin();
while(it!=mymap.end())
{
if((it->second).a>100)mymap.erase(it++);
else it++;
}
it=mymap.begin();
while(it!=mymap.end())
{
cout<<it->first<<" "<<(it->second).a<<" "<<(it->second).b<<endl;
it++;
}
system("PAUSE");
return 0;
}