读书笔记——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>头中定义的。

 

三、补充

写关联函数时,注意如果键对应的值为一容器,那么尖括号之间要有空格,否则编译器会识别成”>>”符号。

posted @ 2013-11-28 19:55  文火煮姜茶  阅读(144)  评论(0编辑  收藏  举报