虽然map在之前已经学习过了,但是最近写代码的时候想用map时发现自己已经忘得差不多了,于是借此机会复习一下,顺便加深对于map的理解。
一.简介
map是STL的一个关联容器,它提供一对一的数据处理能力(有序键值对),第一个元素称为关键字,第二个称为关键字的值,其中关键字是唯一的。map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能。
二.功能
map容器可以根据key值快速找到value值。
三.具体用法
1.构造:map<类型,类型>名称;
2.元素插入:和数组类似,例如:map1[10] = 2;或者用insert插入元素。
3.迭代器:名称map<类型,类型> :: iterator iter;
4.遍历:for(iter = 名称.begin(); iter != 名称.end(); iter++)
5.基本操作函数:
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数