STL笔记(4)---map

本文详细介绍了C++STL中的map容器,包括其一对一的key-value结构,以及如何通过下标和迭代器访问元素,展示了erase(),find(),insert(),count(),size(),empty()和clear()等常见操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

map提供一对一的数据处理,
key-value键值对,
类似:身份证号-名字。
key唯一,value可重复。


一、map的定义

map<type1,type2> m;

type1是key的类型,type2是value的类型。

二、map容器内元素的访问

类似vector有两种访问方式。

1.通过下标进行访问

m['a']=5;

key值为a,value值为5。类比数组。

2.通过迭代器进行访问

   for(map<char,int>::iterator it=m.begin();it!=m.end();it++)
   {
       cout<<it->first<<" "<<it->second<<endl;
   }

first访问key,second访问value。

三、map常用函数

和vector很像。

erase()

删除元素

m.erase(it);
m.erase(m.begin(), m.end());

迭代器删除单个元素和范围删除。

int n = m.erase("123");` 

删除指定元素。

find()

查找元素

iterator find (const key_type& k);

在容器中寻找值为k的元素,返回该元素的迭代器。否则,返回map.end()。

insert()

插入元素

m.insert(pair<int, string>(1, "i"));

pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。

m.insert(map<int, string>::value_type(222, "pp"));

用insert函数插入value_type数据

count()

计算指定元素出现的次数

m.count(key k)

如果 key 存在于容器中,则返回1,因为映射仅包含唯一 key 。如果键在Map容器中不存在,则返回0。

size()

计算元素个数

empty()

判断是否为空,空返回 true

clear()

清空容器

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值