关联容器map

一.关联容器

关联容器顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。 与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。

【特点】

① 支持高效的关键字查询、插入和删除操作,时间复杂度O(log n)

 ② 每个关键字只会保留一份(自动去重)。

③ 按照关键字从小到大有序保存元素(自动排序)。

二.map

map简介

map是一个关键字-值(key-value)对的集合,例如可以将一个人的名字作为关键字, 将其电话号码作为值。我们称这样的数据结构为:从key到value的映射。map类型通常 被称为关联数组

 头文件:map的头文件为:<map>,使用前必需通过#include引入头文件。

 名字空间:map属于std名字空间,需要使用using namespace std; 引入std名字空间。

 map的定义

map <KeyType,ValueType>m;        map的定义需要分别提供key和value的数据类型。

map的KeyType必须支持小于(<)操作符,如string和int。

Key不支持“<”操作符

Key支持“<”操作符,此时根据关键字中的x排序 去重 快速删查

下标访问[]

map类似于数组可以使用下标访问,只是这里的下标是key-value的key

map <KeyType,ValueType>dict; 

 修改: dict[key] = value;

如果map中不存在key,则在map中加⼊key-value对,否则修改key所对应的值。

访问: dict[key];

如果key已经存在与dict中,则可以通过dict[key]获取key对应的value的值

迭代器

map<KeyType,ValueType>::iterator

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值