(三)map容器
一、map 存储键值对的关联式容器
二、声明
map<string, int> m;
三、初始化
m["a"]=1;
m["b"]=2;
m["c"]=3;
三、常见函数
删
m.erase ("a"); //删除单个元素
m.clear(); //清空所有元素
查
m.emtpy(); //判空
m.find(“a”); //返回a的迭代器
m.begin(); //指向容器的第一个元素
m.end(); //指向最后一个元素之后的位置
for (const auto& pair : m) {
cout << pair.first << ':' << pair.second << endl;
} //迭代器遍历的简化
for(map<string,int>::iterator iter=m.begin();iter!=m.end();iter++){
cout<<iter->first<<':'<<iter->second<<endl;
}
//迭代器循环遍历(只能用迭代器遍历,不能用下标遍历元素)
四、迭代器(主要用于容器遍历)
迭代器可以被视为一个指向容器中元素的指针,但它提供了一种更抽象和安全的方式来访问和操作容器中的元素。迭代器并不是直接的地址,而是一个对象,提供了访问容器元素的功能和操作。
1 、声明
map<string,int>::iterator iter
2、实例
for(map<string,int>::iterator iter=m.begin();iter!=m.end();iter++){
cout<<iter->first<<':'<<iter->second<<endl;
}
六、常见实例
1、迭代器查询
for(map<string,int>::iterator iter=m.begin();iter!=m.end();iter++){
cout<<iter->first<<':'<<iter->second<<endl;
}
2、元素存在
if(s.count(3)){ //s.count(x)返回x在集合中出现的次数,set中只能是0或1
cout<<"found 3"<<endl;
}
else{
cout<<"not found"<<endl;
}
3、删除“b”的键值对
map<string,int>::iterator del=m.find("b");
if(del!=m.end()){
m.erase(del);
cout<<"delete b后的数据"<<endl;
}else{
cout<<"not deleting b 的数据"<<endl;
}
4、清空map容器
m.clear();
if(m.empty()){
cout<<"clear success"<<endl;
}
更多推荐



所有评论(0)