【写在最前】
神犇们请自行跳过这段0 0,已经三次要打map的时候才发现自己又忘得干干净净,于是今天请俊god帮我复习了一遍,然后赶紧码了这篇博客,以免以后再浪费god们的宝贵时间。以下内容如有什么错误烦请god们写在评论里。
【正题】
定义格式:map<变量类型1,变量类型2> 数组名
1.变量类型可以是int,char,string等2.类型1为键值,类型2为存储值3.以键值从小到大排序4.内部以红黑树实现,询问查找删除插入等操作都是稳定log5.和pair一样是关联容器6.有关查询的操作如果不存在查询的元素就会增加这个元素并使用默认初始化函数
基本操作函数:
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的函数 常用:
例:map<int,int> a
插入&修改:a[x]=y
询问:y=a[x]
PS:
如x是迭代器,x->first指向键值,x->second指向存储值