map的插入操作

#include <iostream>
#include <map>
#include <vector>
#include <string>
using namespace std;
int main()
{
cout<<"Map的相关操作:"<<endl;
map<string , vector<int> >m_map;
vector<int>vec;
vector<int>vec1;
int i;
for(i=0 ; i<=9 ; i++)
vec.push_back(i);
for(i=1;i<=11;i+=2)
vec1.push_back(i);
cout<<"Map的三种插入记录方法!"<<endl;
    cout<<"第一种插入方法! "<<endl;


pair< map<string,vector<int> >::iterator,bool>Insert_Pair;
Insert_Pair = m_map.insert(pair<string,vector<int> >("张三",vec));
if(Insert_Pair.second == true)
cout<<"插入记录成功!"<<endl;
else
cout<<"插入记录失败!"<<endl;


pair<map<string,vector<int>>::iterator,bool>insert_pair;
insert_pair = m_map.insert(pair<string,vector<int> >("李四",vec1));
if(insert_pair.second == true)
cout<<"插入记录成功!"<<endl;
else
cout<<"插入记录失败!"<<endl;




cout<<"第二种插入方法!"<<endl;
m_map["王五"];
for(i=1 ; i<=3 ; i++)
m_map["王五"].push_back(i);
m_map["路人甲"];
for(i=1 ; i<6; i++)
m_map["路人甲"].push_back(i);


cout<<"第三种插入方法!"<<endl;
m_map.insert(map<string,vector<int>>::value_type("猪八戒",vec1));


map<string,vector<int> >::iterator it;
cout<<"访问map的所有记录:"<<endl;
for(it=m_map.begin();it!=m_map.end();it++)
{
cout<<it->first<<":(";
if(it->second.size()>=1)
{
for(i=0; i< (it->second.size()-1);i++)
  cout<<it->second[i]<<" ";
cout<<it->second[i];
}
cout<<")"<<endl;
}
    
map<string,vector<int> >::reverse_iterator iter;
for(iter = m_map.rbegin();iter!=m_map.rend();iter++)
{
cout<<iter->first<<":(";
if(iter->second.size()>=1)
{
for(i=0; i<(iter->second.size()-1);i++)
cout<<iter->second[i]<<" ";
cout<<iter->second[i];
}
cout<<")"<<endl;
}
cout<<"在map中查找的相关操作:map.find(\"王五\")&&map.count(\"猪八戒\")"<<endl;
if(m_map.find("王五") != m_map.end())
cout<<"在map中找到 "<<m_map.find("王五")->first<<"了"<<endl;
if(m_map.count("猪八戒"))
cout<<"在map中找到 "<<m_map.find("猪八戒")->first<<"了"<<endl;
    
cout<<"看看map的大小"<<endl;
int nsize = m_map.size();
cout<<"map的大小是:"<<nsize<<endl<<endl;
if(m_map.empty())
cout<<"m_map为空"<<endl;
else
cout<<"m_map不为空"<<endl;
cout<<"在map中删除"<<m_map.find("猪八戒")->first<<"了!!"<<endl;
m_map.erase(m_map.find("猪八戒"));
return 0;


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值