将元素插入具有设定值的地图并打印集合
Inserting elements into map with set value and printing the set
我想用一个整数键和一个设定值构建一个地图。我想知道这样做的语法应该是什么。另外,一旦我用一些键和值对填充了地图,应该如何打印出设置值?
map<int, set<int> > mymap;
map[node]= // Code to insert elements into set???
for( map<int, set<int> >::iterator ii=mymap.begin(); ii!=mymap.end(); ++ii)
{ //Code to print map??? }
此外,有没有什么方法可以将元素添加到已创建的键的集合中?任何帮助将不胜感激!
要插入集合,您可以使用方法 insert
。如果映射键不存在 (node
),将创建它。
看例子:
node = 1; // a map key
map<int, set<int> > mymap;
mymap[node].insert(99); //insert 99 in the set corresponding to the map key 1
for( map<int, set<int> >::iterator ii=mymap.begin(); ii!=mymap.end(); ++ii)
{
cout<< "Key: "<< ii->first << " value: ";
for (set<int>::iterator it=ii->second.begin(); it!=ii->second.end(); ++it)
{
cout << *it << " ";
}
cout << Lendl;
}
我想用一个整数键和一个设定值构建一个地图。我想知道这样做的语法应该是什么。另外,一旦我用一些键和值对填充了地图,应该如何打印出设置值?
map<int, set<int> > mymap;
map[node]= // Code to insert elements into set???
for( map<int, set<int> >::iterator ii=mymap.begin(); ii!=mymap.end(); ++ii)
{ //Code to print map??? }
此外,有没有什么方法可以将元素添加到已创建的键的集合中?任何帮助将不胜感激!
要插入集合,您可以使用方法 insert
。如果映射键不存在 (node
),将创建它。
看例子:
node = 1; // a map key
map<int, set<int> > mymap;
mymap[node].insert(99); //insert 99 in the set corresponding to the map key 1
for( map<int, set<int> >::iterator ii=mymap.begin(); ii!=mymap.end(); ++ii)
{
cout<< "Key: "<< ii->first << " value: ";
for (set<int>::iterator it=ii->second.begin(); it!=ii->second.end(); ++it)
{
cout << *it << " ";
}
cout << Lendl;
}