STL-map

map是一个将键值对进行映射的数据结构,它能将任何基本类型或STL容器映射到其他类型。map内部基于红黑树实现,保证了键的自动排序。通过下标或迭代器可访问元素,提供find、erase、size和clear等函数进行查找、删除、查询大小和清空操作。
摘要由CSDN通过智能技术生成

map译为映射,可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器)。

需添加

#include <map>

1、定义

map< typename1 , typename2 > mp ;   映射前类型(键key),映射后类型(值value)。

eg. map<char,int> mp :从char型映射到int型。

map会以键从小到大的顺序自动排序,因为其内部是有红黑树实现的,在建立映射的过程中就会自动实现排序。

2、访问

map<chat,int> mp;
mp['c'] = 20;
mp['c'] = 30; //20被覆盖

1、下标访问

        mp[ 'c' ] ; mp中键是唯一的。

2、迭代器访问

        map<typename1,typename2>::iterator it; it->first访问键,it->second访问值。

map<char,int> mp;
mp['m'] = 20;
mp['r'] = 30;
mp['a'] = 40;
for(map<char,int>::iterator it = mp.begin();it != mp.end();it++){
    printf("%c %d",it->first,it->second);
}

3、常用函数

find( key )  : 返回键为key的映射的迭代器,若未找到,返回map.end()。

erase()  :    mp.erase( it ) : 删除迭代器it处的元素;

                  mp.erase(key) : 删除键为key的元素;

                  mp.erase( first , last ) : 删除迭代器为 [ first , last ) 内的元素。

size()  : 获得map中映射的对数。

clear()  : 清空map中所有元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值