读书笔记——Accelerated C++ Chapter7
一、一些定义
1. 关联容器
关联容器也是用于数据的存储,但其数据的排列顺序是不需要我们来保持的(他是自动排序的)。还可以对元素进行高效的查找。
2. 键值
用容器的一部分进行高效地查找,容器的这一部分就称之为键值。
3. 键-值对
关联数据结构存储了键-值对。所以我们能根据键值而快速地插入和检索元素。
4. 关联数组
如果将一个特定的键值对放进了一种数据结构中,健将一直与对应的值相关联,直到删除这个数对为止。这样的一个数据结构称之为关联数组。
5. 映射表
映射表MAP是在<map>头中定义的。他的行为特性与向量很像。但是他们之间存在一个基本区别,那就是映射表的索引不一定是整数类型,可以是字符串或者其他类型。如果用一个未曾出现过的键来作为映射表的索引,那么这个映射表会自动创建一个具有这个键的新元素,根据类型会进行相应的初始化。
Map<string,int> counters; //一个从字符串到整数的映射表
6. 数对Pair
由映射表容器提供,是一个伴随的库类型。是一种简单的数据结构,保存了两个分别称为first和second的元素,first成员包含键,second成员包含关联的值。
二、函数说明
rand():将产生[0,RAND_MAX]中的随机数。Rand和RAND_MAX都是在<cstdlib>头中定义的。
三、补充
写关联函数时,注意如果键对应的值为一容器,那么尖括号之间要有空格,否则编译器会识别成”>>”符号。