multimap的基本操作

#include <iostream>
#include <map>
#include <string>
using namespace std;

//struct info
//{
// string name;
// float score;
// bool operator < (const info &a) const{
//  return a.score < score;
// }
//};

//int main(int argc,int **argv){
map元素的创建、插入、遍历
//  map<string,float> m;
//  m["Jack"] = 98.5;
// m["Body"] = 96.0;
// m["Navy"] = 97.5;
// m["Jack"] = 90.5;
// m["Demo"] = 99.9;
// map<string,float>::iterator iter;
// for (iter = m.begin();iter!=m.end();++iter)
//  cout<<(*iter).first<<" : "<<(*iter).second<<endl;
map元素的删除
// m.erase("Body");
// cout<<"删除元素后,map的内容为:"<<endl;
// for (iter = m.begin();iter!=m.end();++iter)
//  cout<<(*iter).first<<" : "<<(*iter).second<<endl;
map的逆向遍历
// cout<<"逆向遍历map:"<<endl;
// map<string,float>::reverse_iterator riter;
// for (riter = m.rbegin();riter!=m.rend();++riter)
//  cout<<(*riter).first<<" : "<<(*riter).second<<endl;
// cout<<endl;
元素的搜索
// map<string,float>::iterator iter1;
// iter1 = m.find("Demo");
// if (iter1!=m.end())
//  cout<<(*iter1).first<<" : "<<(*iter1).second<<endl;
// else{
//  cout<<"can not find!"<<endl;
// }
// return 0;
//
//}

//int main(){
//
// map<info,int> m;
// info information;
// 
// information.name = "Jack";
// information.score = 98.5;
// m[information] = 25;
//
// information.name = "Body";
// information.score = 96.5;
// m[information] = 10;
//
// information.name = "Navy";
// information.score = 97.5;
// m[information] = 30;
//
// information.name = "Demo";
// information.score = 99.5;
// m[information] = 70;
//
// map<info,int>::iterator iter;
// for (iter = m.begin();iter!=m.end();++iter){
//  cout<<(*iter).second<<" : ";
//  cout<<((*iter).first).name<<"  "<<((*iter).first).score<<endl;
// }
// return 0;
//}

int main(int argc,int **argv){

//multimap的创建、插入、遍历
 multimap <string ,double> m;
 
 m.insert(pair<string,double>("Jack",96.5));
 m.insert(pair<string,double>("Body",95.5));
 m.insert(pair<string,double>("Navy",94.5));
 m.insert(pair<string,double>("Demo",99.5));
 
 multimap<string,double>::iterator iter;
 for (iter = m.begin();iter != m.end();++iter)
  cout<<(*iter).first<<"  "<<(*iter).second<<endl;

//multimap的删除
 m.erase("Jack");
 cout<<"The element after delete:"<<endl;
 for (iter = m.begin();iter != m.end();++iter)
  cout<<(*iter).first<<"  "<<(*iter).second<<endl;

//multimap元素的查找 
 multimap<string,double>::iterator it;
 it = m.find("Navy");
 cout<<"the search result is :"<<endl;
 if (it!=m.end())
 {
  cout<<(*it).first<<"  "<<(*it).second<<endl;
 }
 else{
  cout<<"can not find!"<<endl;
 }
 return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值