1.关联式容器:
a.有序性:红黑树(动态维护有序序列):map、set、multimap、multiset
b.无序性:哈希表(无序,但访问速度快):unordered_map、unordered_set
关联性容器是非线性的树结构,更准确的说是二叉树结构,各元素没有严格的物理上的顺序关系,也就是说元素在容器中并没有保存元素置于容器中的逻辑顺序。
2.unordered_set:
a.在unordered_set中,其元素值就是其键值,是唯一标识,也就是说元素类型和键值类型一定相同,键不可修改,unordered_set中的元素不可修改,但是可以删除和插入。
b.在unordered_set中的元素并没有按照任何特定的顺序排序,为了能在常数范围内找到key,unordered_set将哈希表键值相同的元素放在相同的桶中。
c.unordered_set比set通过键访问单个元素的速度更快,但它通常在遍历元素子集的范围迭代方面效率较低。
3.unordered_map:
a.unordered_map是存储[HTML_REMOVED]键值对的关联式容器,其允许通过keys快速的索引到与其对应的value。
b.在unordered_map中,键值通常用于惟一地标识元素,而映射值是一个对象,其内容与此键关联。键和映射值的类型可能不同。
c.在内部,unordered_map没有对[HTML_REMOVED]按照任何特定的顺序排序,为了能在常数范围内找到key所对应的value,unordered_map将相同哈希值的键值对放在相同的桶中。
d.unordered_map容器通过key访问单个元素要比map快,但它通常在遍历元素子集的范围迭代方面效率较低。
e.它允许使用key作为参数直接访问value。
4.成员函数:
begin()获取容器中第一个元素的正向迭代器,
end()获取容器中最后一个元素下一个位置的正向迭代器,
insert()插入指定数据,
erase()删除指定元素,
find()查找指定元素,
size()获取容器中元素的个数,
clear()清空容器,
swap()交换两个容器中的数据,
count()获取容器中指定元素值的元素个数