> 文章列表 > c语言map的用法总结

c语言map的用法总结

c语言map的用法总结

1.map简介:

map是STL的一个关联容器,它提供一对一的hash。

  • 第一个可以称为关键字(key),每个关键字只能在map中出现一次;
  • 第二个可能称为该关键字的值(value)
  • 所有元素会根据键值来自动排序

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.其他功能: