page contents

C++ map基本操作和用法

map是关联容器的一种。在关联容器中,对象的位置取决于和它关联的键的值.........

attachments-2021-08-LlRVRKab612c5633ad97c.png

map是关联容器的一种。在关联容器中,对象的位置取决于和它关联的键的值。键可以是基本类型,也可以是类类型。字符串经常被用来作为键,如果想要保存姓名和地址的记录,就可以这么使用。名称通常可能是一个或多个字符串。关联容器中的对象位置的确定取决于容器中的键的类型,而且对于特定容器类型的内部组织方式,不同的STL有不同的实现。

attachments-2021-08-HOBC6ag1612c5681cb2e7.png

 

简介

mapSTL的一个关联容器,它提供一对一的hash

²  第一个可以称为关键字(key),每个关键字只能在map中出现一次;

²  第二个可能称为该关键字的值(value)

map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个班级中,每个学生的学号跟他的姓名就存在著一对一映射的关系。


map的功能

自动建立key value的对应。key value可以是任意你需要的类型,包括自定义类型。

 

使用map

使用map得包含map类所在的头文件

#include <map>  //注意,STL头文件没有扩展名.h

map对象是模板类,需要关键字和存储对象两个模板参数:

std:map<int, string> personnel;

这样就定义了一个用int作为索引,并拥有相关联的指向string的指针.

为了使用方便,可以对模板类进行一下类型定义,

typedef map<int,CString> UDT_MAP_INT_CSTRING;

UDT_MAP_INT_CSTRING enumMap;

 

map的构造函数

map共提供了6个构造函数,这块涉及到内存分配器这些东西,略过不表,在下面我们将接触到一些map的构造方法,这里要说下的就是,我们通常用如下方法构造一个map

map<int, string> mapStudent;

 

map的大小

在往map里面插入了数据,我们怎么知道当前已经插入了多少数据呢,可以用size函数,用法如下:

attachments-2021-08-laenLttI612c568f1bb75.png 

map 的基本操作函数

C++ Maps 是一种关联式容器,包含关键字/

1.   swap():交换两个map

2.   insert():插入元素

3.   erase():删除一个元素

4.   find():查找一个元素

5.   clear():删除所有元素

6.   size():返回map中元素的个数

7.   count():返回指定元素出现的次数

8.   empty():如果 map 为空则返回 true

9.   end():返回指向 map 末尾的迭代器

10.  equal_range():返回特殊条目的迭代器对

11.  get_allocator():返回map的配置器

12.  key_comp():返回比较元素key的函数

13.  begin():返回指向 map 头部的迭代器

14.  value_comp():返回比较元素value的函数

15.  max_size():返回可以容纳的最大元素个数

16.  rbegin();返回一个指向map尾部的逆向迭代器

17.  rend():返回一个指向map头部的逆向迭代器

18.  upper_bound():返回键值>给定元素的第一个位置

19.  lower_bound():返回键值>=给定元素的第一个位置

  

总结

map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key

 

 


以上就是有关C++ map基本操作和用法的相关内容了,想要了解更多有关php的其它知识也可关注六星社区网站。

  • 发表于 2021-08-30 11:54
  • 阅读 ( 590 )
  • 分类:C/C++开发

0 条评论

请先 登录 后评论
小柒
小柒

1474 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章