一、 map的特性
所有元素都会根据元素的减值自动被排序。
map的所有元素都是pair,同时拥有实值(value)和键值(key)。
pair的第一个元素会被视为键值,第二个元素会被视为实值。
map不允许两个元素拥有相同的键值。
二、map添加数据
map<int ,string> maplive;
pair<int,string> value(1,"a");maplive.insert(value);
//等价于maplive.insert(pair<int,string>(1,"a"));
maplive.insert(map<int,string>::value_type(1,"a"));
maplive[1]="a";//map中最简单最常用的插入添加!
3.pair的应用
pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。
其标准库类型--pair类型定义在#include <utility>头文件中,定义如下:
类模板:template<class T1,class T2> struct pair
4.find函数
C ++ map find()函数用于查找具有给定键值k 的元素。如果找到该元素,则返回指向该元素的迭代器。否则,它返回一个指向map末尾的迭代器,即map :: end()。
所以在两数之和问题中可以使用值作为键,下标作为值
原文链接:https://blog.csdn.net/LUSH_BOY/article/details/113483998