multimap的增删改

#include<iostream>
#include<map>
#include<string>
using namespace std;
int main(){
 string xingming;
 string shuming;
 multimap<string,string>mm;
 while(cin>>xingming>>shuming){
  mm.insert(make_pair(xingming,shuming));
  cin.clear();
 }
 string name;
 
 cout<<"请输入要找的作者"<<endl;
 cin.clear();
 cin>>name;
 multimap<string,string>::iterator iter=mm.find(name);
 int t=mm.count(name);

 
 for(int i=0;i!=t;++i,++iter){
  cout<<iter->second<<endl;
  
 }
 for(multimap<string,string>::iterator ii=mm.begin();ii!=mm.end();++ii){
  cout<<(*ii).second<<" ";

 }
 cout<<endl;
 system("pause");
 return 0;
}
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main(){
 string xingming;
 string shuming;
 multimap<string,string>mm;
 while(cin>>xingming>>shuming){
  mm.insert(make_pair(xingming,shuming));
  
  cin.clear();
 }
 cin.clear();
 cout<<"你要删除的作者"<<endl;
 cin>>xingming;
 //pair<multimap<string,string>::iterator,multimap<string,string>::iterator > pmi=mm.equal_range(xingming);
 //mm.erase(pmi.first,pmi.second);
 multimap<string,string>::iterator beg=mm.lower_bound(xingming);
 multimap<string,string>::iterator end=mm.upper_bound(xingming);
 mm.erase(beg,end);
 for(multimap<string,string>::iterator iii=mm.begin();iii!=mm.end();++iii){
  cout<<iii->first<<"   "<<iii->second<<endl;
 }
 cout<<endl;
 system("pause");
 
 return 0;
}

你可能感兴趣的:(String,iterator,pair)