c++之map基本用法
总是记混几个STL模板的用法。。。边学边总结吧~
一、定义
#include<map>
//1. 定义个空的map
map<int,int> key_value;
//2. 定义的时候赋值(C++11之后)
map<int,int> key_value={{1,10},{2,20},{3,30}};
二、插入数据
//1. 单个值插入,如果存在则修改key对应的value值
key_value[4] = 40;
//2. 用insert插入pair,如果存在则插入失败
key_value.insert(pair<int,int>(4, 40));
//3. 用insert插入value_type,如果存在则插入失败
key_value.insert(map<int,int>::value_type(5, 50));
插入效果如下图所示:
三、遍历
//1. 前向迭代器
map<int,int>::iterator iter;
for(iter = key_value.begin(); iter != key_value.end(); iter++){
cout << iter->first <<":"<< iter->second << " ";
}
//2. 反向迭代器
map<int,int>::reverse_iterator riter;
for(iter = key_value.rbegin(); iter != key_value.rend(); iter++){
cout << riter->first << ":" << riter->second << " ";
}
//3. 数组的方式
for(int i=1;i<=key_value.size();i++){
cout << i <<":"<< key_value[i] << " ";
}
四、获取map的大小
int size = key_value.size();
五、删除元素
map<int,int>::iterator iter = key_value.begin();
key_value.erase(iter);
参考来源:
C++中的STL中map用法详解