Map是STL的标准容器之一,和Set一样,Map是一种关联容器。他提供一对一的数据处理方式,每个Map有两个关键字,第一个关键字在Map中是唯一的,也叫做Map的键;第二个关键字用来存储该关键字的值。Map内部和层次实现是一颗红黑数,是一种非平衡二叉树。这棵树具有对数据自动排序的功能,所以Map内部所有数据均是有序的。
1. Map的初始化及销毁:
(1). Map()创建了一个空的 map 对象 m ,元素的键值类型为 char ,元素的映照数据类型为 int ,键值的比较函数对象为 greater<char>
map<char, int,greater<char> > m; // 两个 ">" 、">" 符号不要写在一起了,记得要空格
(2). map(constkey_compare& comp)指定一个比较函数对象comp 来创建 map 对象,内存分配器为默认值。
map<T1,T2,less<T1>> mapA; //该容器是按键的升序方式排列元素。未指定函数对象,默认采用less<T1>函数对象。
map<T1,T2,greater<T1>> mapB; //该容器是按键的降序方式排列元素。
less<T1>与greater<T1> 可以替换成其它的函数对象functor。
可编写自定义函数对象以进行自定义类型的比较,使用方法与set构造时所用的函数对象一样。
例如,下面的代码使用自定义的函数对象 strLess ,创建一个 map 容器对象 m 。该容器的键值类型为 const char* ÿ