什么是 map

map 很多人说是一种关联容器,又提什么 stl 一堆的东西

  • 是一种映射的关系,它有两个值,key,value,建立的关系是 key -> value的映射。
  • key在整个 map 中是唯一的。
  • map 以key有序。

使用之前

在 cpp 中使用 map 的时候必须包含#include <map> 这个语句

定义一个map变量

map<key_type, value_type> name;

map<int, double> p;

from: PATEST -A1002-题解

map 的使用

增加之前,需要保证增加的数据类型为 pair,如不是,应当使用make_pair(first, second); 来凑成一对。

p.insert(var);

增加时,如果 first 的值在 p 中已经存在,插入失败。

定义一个迭代器,无论正向,反向都可以。

我所理解的迭代器是一种特殊的指针。

for (map<int, double>::reverse_iterator iter = p.rbegin(); iter != p.rend(); iter++)
这样就可以直接从 map 的尾部开始查询。

注意

  • 使用迭代器iter访问first second的元素时,需要以(*(iter)).first 的形式访问。
  • p.end();指向的是 map的最后内存单元,而不是最后一个元素。
  • 访问p的最后一个元素时,需要使用反向迭代器reverse_iterator
相关文章
评论
分享
Please check the post_relate setting in config.yml of hexo-theme-Annie! You should make sure 'postsEnable == true' and the number of site posts greater than 1.
Please check the comment setting in config.yml of hexo-theme-Annie!