对于map,官方文档讲的是
Maps are associative containers that store elements formed by a combination of a key value and a mapped value, following a specific order.
即:映射是关联容器,它按照特定顺序存储由键值和映射值的组合形成的元素。
键值通常是用来排序和唯一标识元素,而映射值存储与此键值关联的内容。
通俗点说,我通常用来定义一个map。也就把它看作是有自己名字的数字。在使用的时候,我可以直接用其对应的string名字来调用它。
举个例子。
maps[吴浔]=250; 是不是好像把吴浔看作了数组下标。
当然map如果只和数组类似那我们也没必要用。
map的内部自建了一棵红黑树(一种非严格意义上的平衡二叉树),这种树可以对数据进行自动排序,所以map内部所有的数据都是有序的。
下面举个例子体会一下map的方便:
题目大意是
几个人改名字,每一行第一个表示它旧名字,第二个表示新名字。
每个人可以改多次自己的名字。
输出 每个人的第一个名字和最后一个名字。
这里就可以用map来存储名字。
下面上ac代码:
很简单..如果理解不了就在纸上写一写 画一画,举个例子试一试,把流程走一遍就懂了。