1.顺序容器(sequence container)拥有由单一类型元素组成的一个有序集合。两个主要的顺序容器是list和vector。还有一个顺序容器为双队列deque,发音为“deck",它提供了与vector相同的行为,但是对于首元素的有效插入和删除提供了特殊的支持。在实现对咧时,deque比vector更加适合。
2.关联容器(associative)支持查询一个元素是否存在,并且可有有效地获取元素。两个基本的关联容器类型是map(映射)和set(集合)。map是一个键/值(key/value)对:键(key)用于查询,而值(value)包含我们希望使用的数据。
3.本章我们通过一个小的文本查询程序的循序渐进实现,对容器类型进行讨论。
4.首先,我们需要了解,文本查询系统需要由什么构成
用户指定的任意文本文件
一个逻辑查询机制,用户可以通过它查询文本中的单词或相邻的单词序列。
5.我们的程序需要支持哪些任务
1.他必须允许用户指明要打开的文本文件的名字
2.他必须在内部组织文本文件,以便能够识别出每个单词在句子中出现的次数,以及在该句子中的位置。
3.它必须支持某种形式的布尔查询语言,在我们的例子中,它将支持
&&:在一行中,两个单词不仅存在,而且相邻。
||:在一行中,两个单词至少有一个存在
!:在一行中该单词不存在。
():把子查询组合起来的方式