【C++】map 的介绍

什么是 map?

map 是 C++ 中 STL 的一个关联容器,以键值对来存储数据,数据类型自己定义。map 基于红黑树实现,元素默认是根据键的升序排序。使用 map 需要头文件 #include<map>

注意:map 具有自动去重和排序功能,键是唯一的,相同的键只会保留一个,会默认升序排序

定义 map 类型

基础语法:
map<key,value,less<key>> mp;
定义 map 类型是有模板的,它可以接受三个参数
第一个参数是键的数据类型
第二个参数是值的数据类型
第三个参数是排序规则,不写则默认按照键的升序排序
举例:定义个 int string 按照键的降序排序的
map<int,string,greater<int>> mp;
默认第三个参数是 less 如果想要降序排序就改为 greater

map 添加元素

四种方法:
map<int,string> mp;

前三种方法需要使用 insert 关键字
1、pair
mp.insert(pair<int,string>(1,"asd"));
2、make_pair
mp.insert(make_pair(3,"xqwe"));
3、
mp.insert(5,"qw");
4、
mp[1] = "zq" ;

循环输出 map 中的元素

//迭代器
map<int, string>::iterator it;
for (it = mp.begin(); it != mp.end(); it++) {
	cout << it->first << " " << it->second;
}

//增强 for 循环输出
for (auto it : mp) {
	cout << it.first << " "<<it.second;
}

map 查找数据

#include<map>
map<int,string> mp;

1、find()函数:成功找到会返回位置,找不到返回 mp.end()


2、count()函数:返回键值出现的次数,不是 0 就是 1,因为键在 map 中唯一的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值