一:介绍:
map是STL的一个关联容器,有key 和value两个值,其类型可以自己定义,每个关键字在map中只能出现一次,key不能修改,value可以修改;map同set、multiset、multimap(与map的差别仅在于multimap允许一个键对应多个值)内部数据结构都是红黑树,查找时间复杂度为O(logn)。
如此低时间复杂度的容器在竞赛中的使用频率自然不低。
二:头文件:
#include<map>
三:定义:
map<类型名,类型名> 变量名
//例如
map<int,string> s;
map<string,int> s;
四:含义:
大家应该都注意到了吧,map中有两个类型名。
第一个类型名:key值,也就是索引值,它就像数组中的[]内的数字,key只在关键字中出现一次。
第二个类型名:value值,他就是key对应的数值。
五:插入元素:
#include<iostream>
#include<map>
using namespace std;
int main()
{
map<int,string> s;
s.insert(pair<int,string>(1,"wwyz"));
s.insert(pair<int,string>(4,"booyi"));
s.insert(pair<int,string>(2,"computer"));
}
这样就实现了插入.
map中的插入方式有很多,这里介绍比较常见的两种.
第一种:如同上面所示,因为c++中map是一中pair类型的元素,所保存的值都存在二叉树中,所以插入时可以

本文详细介绍了C++ STL中的map容器,包括map的基本概念、插入元素(通过pair和重载[]操作符)、获取元素、查找元素(find()和count()函数)、删除元素以及排序特性。map作为关联容器,内部采用红黑树结构,查找效率高,且key自动排序。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



