//multimap
void MultimapOper()
{
multimap<int, int> lObjMultiMap;
multimap<int, int>::iterator iterMap;
lObjMultiMap.insert( pair<int,int>(0,10) ); //添加元素
lObjMultiMap.insert( pair<int,int>(0,1) );
lObjMultiMap.insert( pair<int,int>(0,4) ); //key 为0的元素有3 个数值
lObjMultiMap.insert( pair<int,int>(1,1) );
lObjMultiMap.insert( pair<int,int>(1,11) );
//遍历key 为 0的所有元素
pair<multimap<int, int>::iterator, multimap<int, int>::iterator> range;
range = lObjMultiMap.equal_range(0);
for(iterMap=range.first; iterMap!=range.second; ++iterMap)
{
cout <<iterMap->first<<" "<<iterMap->second<<endl;
}
// 删除指定key为 0 的所有元素
lObjMultiMap.erase(0);
cout<<"******************"<<endl;
//删除指定key 为1,数值为11的一个元素
range = lObjMultiMap.equal_range(1);
for (iterMap=range.first; iterMap!=range.second; iterMap++)
{
if (iterMap->second == 11)
{
lObjMultiMap.erase(iterMap);
break;
}
}
for (iterMap=lObjMultiMap.begin(); iterMap!=lObjMultiMap.end(); iterMap++)
{
cout <<iterMap->first<<" "<<iterMap->second<<endl;
}
}