标准库提供8个关联容器,这8个容器间的不同体现在三个维度上:每个容器
(1)或者是一个set,或者是一个map;
(2)或者要求不重复的关键字,或者允许重复关键字;
(3)按顺序保存元素,或无序保存。
允许重复关键字的容器的名字中都包含单词multi;
不保持关键字按顺序存储的容器的名字都以单词unordered开头。
类型map和multimap定义在头文件map中;set和multiset定义在头文件set中;无序容器则定义在头文件unordered_map和unordered_set中。
关联容器类型 | |
---|---|
按关键字有序保存元素 | |
map | 关联数组;保存关键字-值对 |
set | 关键字即值,即只保存关键字的容器 |
multimap | 关键字可重复出现的map |
multiset | 关键字可重复出现的set |
无序集合 | |
unordered_map | 用哈希函数组织的map |
unordered_set | 用哈希函数组织的set |
unordered_multimap | 哈希组织的map;关键字可以重复出现 |
unordered_multiset | 哈希组织的set;关键字可以重复出现 |