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用法详解

posted @ 2022-03-29 20:52  二越  阅读(410)  评论(0编辑  收藏  举报