map/multimap容器
map相对于set区别,map容器相对于set容器的区别,map具有键值和实值,所有元素根据键值自动排序,pair的第一元素被称为键值,第二元素被称为实值,map也是以红黑树为底层实现机制。map键值不能重复,multimap可以 重复
四种插入方式区别
第四种,如果key存在,会修改容器指定元素的值
如果你访问的key不存在,他会帮你把这个数据插入进去
1、对组pair
int main() { //第一种方式,创建一个对组pair pair<int,string> mypair(10,"aaa"); cout<<mypair.first<<endl; cout<<mypair.second<<endl; //第二种 pair<string,string> mypair2=make_pair("aaa","bbb"); //第三种 pair<int,string> mypair3=mypair;//拷贝构造 }
2、map/multimap
map元素添加/遍历/删除基本操作
插入的四种方法
- map1.insert(pair<int,string>(1,"teacher01"));
- map1.insert(make_pair(3,"teacher04"));
- map1.insert(map<int,string>::value_tyoe(2,"teacher02));
- map[4]="teacher04";
- map的insert方法返回值返回pair,如果key已经存在,则会插入失败
- map的数组方法,如果key已经存在,则会覆盖
map查找
- find查找
- equal_range查找