C++STL之map简要用法
1.map定义
map<typename1,typename2> mp;
//例子:
map<int string> mp;
map<set<int>,string>mp;
2.map内元素访问
1.通过下标访问
//注意map里面的键是唯一的
#include <bits/stdc++.h>
#include <map>
using namespace std;
int main(){
map<char, int> mp;
mp['c']=20;
mp['c']=30;
cout<<mp['c'];
return 0;
}、
2.通过迭代器访问
//it->first是当前映射的键
//it->second是键对应的值
#include <bits/stdc++.h>
#include <map>
using namespace std;
int main(){
map<char, int> mp;
mp['m']=20;
mp['r']=30;
mp['a']=40;
for(map<char,int>::iterator it=mp.begin();it!=mp.end();it++){
cout<<"key:"<<it->first<<" "<<"value:"<<it->second<<endl;
}
return 0;
}
map使用红黑树实现(set也是),map的键会自动从小到大排序
3.map常用函数
1.find()
find(key),返回键为key的迭代器
2.erase()
(1)删除单个元素
mp.erase(it)//it是迭代器
mp.erase(key)//key是要删除的键
(2)删除区间里面的元素
和其他容器差不多不多写了注意区间左闭右开
mp.erase[first,last)
3.size()
返回长度
4.clear()
清空全部map元素