map的个人总结。

文章介绍了C++中的map容器,包括其构造、插入、查找、删除和清空等基本操作。map提供了一对一的哈希映射,每个关键字key唯一,且map内部自动排序。插入操作会覆盖已存在的键值对,查找通过find函数实现,删除可以用关键字或迭代器进行。此外,还提到了map的大小查询和其他相关函数如begin(),end(),count()等。
摘要由CSDN通过智能技术生成

  map提供一对一的哈希,比如map<string,int>就建立了一个字符串和一个数字之间的对应,其中每一个关键字都会在其中仅仅出现一次。

  第一个关键字叫做key,只出现一次。

  第二个关键字叫做value,由key指向对应。

  注意,map在实际上是有着自动排序的功能的。

  1.map的构造。

    map<string,int>name;

  2.map的插入。

   如果构建了一个形如同map<string,int>name这样的一个map的话。

  我们可以name["hhh"]=123;

   这样hhh就对应了123

  如果hhh已经对应了123,我们继续执行name["hhh"]=12

  那么前面的值就会被覆盖。

  3.map的查找。

  map的查找主要通过一个find函数,

  当所查找的关键key出现时,它返回数据所在对象的位置,如果沒有,返回iter与end函数的值相同。

  

iter=map.find(hhh)
if(iter!=map.end)
cout<<"在这个Map中有这个元素我们可以输出他们<<iter->second<<"\n;
4.map的删除与清空操作。
  
//迭代器刪除
iter = mapStudent.find("123");
mapStudent.erase(iter);
 
//用关键字刪除
int n = mapStudent.erase("123"); //如果刪除了會返回1,否則返回0
 
//用迭代器范围刪除 : 把整个map清空
mapStudent.erase(mapStudent.begin(), mapStudent.end());
//等同于mapStudent.clear()
//本段借鉴了https://blog.csdn.net/sevenjoin/article/details/81943864?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169076291816782425110130%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=169076291816782425110130&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-81943864-null-null.142^v91^insert_down28v1,239^v12^insert_chatgpt&utm_term=map&spm=1018.2226.3001.4187
5.map的大小

name.size();

6.map的其他函数

   begin()         返回指向map头部的迭代器

     clear()        删除所有元素

     count()         返回指定元素出现的次数, ( 因为key值不会重复,所以只能是1 or 0)

     empty()         如果map为空则返回true

     end()           返回指向map末尾的迭代器

     erase()         删除一个元素

     find()          查找一个元素

     insert()        插入元素

     lower_bound()   返回键值>=给定元素的第一个位置

     size()          返回map中元素的个数

     swap()           交换两个map

     upper_bound()    返回键值>给定元素的第一个位置


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值