C++ Map简单介绍 ,比如添加元素、删除元素和打印元素

介绍

  • map是一种键值对容器,第一个数值为关键字(key),第二个数值为该元素对应的出现的次数。如果是map,key只会出现一次,如果是unordered_map,无此限制。此外,map会对元素进行排序,unordered_map是无序的。

Map的使用

  • 引入头文件 #include<map>  #include<unordered_map>
  • map对象是一个模板类,需要关键字和存储对象两个模板参数 std::map<int,std::string> person;
  • 可以对模板进行类型定义 使其使用更加方便  typedef std::map<int,std::string> MAP_INT_STRING;  MAP_INT_STRING person;

map添加数据

  • 准备操作  std::map<int,std::string> map_element;
  • 使用pair     map_element.insert(std::pair<int,std::string>(1,"Jim"));
  • 使用value_type     map_element.insert(std::map<int,std::string>::value_type(1,"Jim"));
  • 使用emplace  map_element.emplace(1,"Jim");
  • 使用数组 

map数据的遍历

  • 前向迭代器
    for (auto i = m2.cbegin(); i != m2.cend(); ++i) {
        std::cout << i->first << " " << i->second << std::endl;
    }
  • 反向迭代器   使用rbegin和rend替代上面的cbegin 和 cend
  • 数组形式 谨慎使用

map中元素的查找

  • find() 函数返回一个迭代器指向键值为key的元素,如果没有找到就返回指向map尾部的迭代器
 map<int ,string > ::iterator l_it;; 
   l_it = maplive.find(112);
   if(l_it == maplive.end())
                cout<<"we do not find 112"<<endl;
   else cout<<"wo find 112"<<endl;

map中元素的删除

iterator erase(iterator it)	;//通过一个条目对象删除
iterator erase(iterator first,iterator last);	//删除一个范围
size_type erase(const Key&key);	//通过关键字删除
clear();//就相当于enumMap.erase(enumMap.begin(),enumMap.end());

参考链接

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值