STL Map的使用

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力。下面就通过示例记录一下map的使用:

一、向map中插入数据

1、使用pair:

image

2、使用value_type插入

image

3、使用数组下表插入

image

当然使用者三种方法也不是完全一样的,简答的说就是前两种方法不能够插入第一个键值已经存在的了,而第三种方案则可以覆盖。

二、求map的大小

通用的size()函数

三、迭代器

有两种迭代器,一种是上面我们使用过的,叫做正向迭代器,另一种是反向迭代器,使用方法如下

image

另外我们也可以不使用迭代器,橡数组一样输出,但是这样有一定局限性。。。

image

四、查找

在map中查找是我们选用map的最主要原因。一般我们会选用find函数

image

这里我们可以看到我们使用find的返回值与end进行比较,这里要注意这个end是理论上跟在map中的值,实际不指向任何东西。(可以试试输出他的元素,我的测试结果是first能输出,和最后一个元素一样,但是second不能输出)。

五、数据的删除

1、用迭代器删除一条记录

image

2、关键字删除(成功返回1)

image

3、迭代器成片删除

image

六、排序

我们知道map是会自动按key排序的,所以排序问题就不太是个问题了,但是有时候你可能会不想使用它的排序,这个时候我们就可以使用另一个参数了,直接上例子:

image

不错这里就是利用了map的第三个参数,可以参考这里

如果你觉得内容对你有帮助,请点个赞

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
原文地址:https://www.cnblogs.com/MrLJC/p/3616645.html