4.6 其他STL容器
STL定义的各种容器类型分为两大类:顺序型和关联型。顺序型容器可以依次检索元素值,而关联型容器则基于键值检索元素值。vector是顺序型容器。
如何使用这些不同的容器类型?请考虑一个在线回合制策略游戏。可以使用一个顺序型容器存储一组需要依次访问的玩家。另一方面,可以通过某个唯一标识符使用关联型容器以随机访问的方式检索玩家信息,如玩家的IP地址。
最后,STL定义了容器适配器用来适配顺序型容器。容器适配器代表了计算机科学中的标准数据结构。尽管它们不是正式的容器,但与容器类似。STL提供的容器类型如表4-1所示。
表4-1 STL容器
|
容 器< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
类 型 |
描 述 |
|
deque |
顺序型 |
双向队列 |
|
list |
顺序型 |
线性链表 |
|
map |
关联型 |
键/值对的集合,每个键都与唯一值关联 |
|
multimap |
关联型 |
键/值对的集合,每个键可能与多个值关联 |
|
multiset |
关联型 |
元素不一定唯一的集合 |
|
priority_queue |
适配器 |
优先级队列 |
|
queue |
适配器 |
队列 |
|
set |
关联型 |
元素唯一的集合 |
|
stack |
适配器 |
栈 |
|
vector |
顺序型 |
动态数组 |