c语言map的用法总结
1.map简介:
map是STL的一个关联容器,它提供一对一的hash。
multimap和map的区别:
map不允许有重复的键值
multimap允许重复键值存在
map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个班级中,每个学生的学号跟他的姓名就存在著一对一映射的关系。
2,map的功能
自动建立key - value的对应。key 和 value可以是任意你需要的类型,包括自定义类型。
3.map的基础用法
map<int,string>s;//定义
map<vector<int>,int>h;
int n,m;
cin>>n;
for(int i=0;i<=n;i++)
{string a;cin>>a;s.insert({i,a});//元素的插入两种方法 //s[i]=a; s[i]输入能够实现元素覆盖
}
//遍历
for(auto &v:s)
{cout<<v.first<<" "<<v.second<<endl;
}
//map里面是否含有这个元素
if(s.find(1)!=s.end())
{cout<<s[1];
}
4.其他功能: