C++关联容器知识总结
C++的容器类型可以分为顺序容器和关联容器两大类。顺序容器的知识可以参看我上篇的随笔 《C++顺序容器知识总结》 。关联容器支持通过键值来高效的查找和读取元素,这是它和顺序容器最大的区别。两种基本的关联容器类型是map和set。map的元素以键-值对的形式组织:键用作元素在map中的索引,而值则表示所存储和读取的数据。set仅包含一个键,并有效的支持关于某个键是否存在的查询。下表是关联容器的类型: map 关联数组;元素通过键来存储和读取 set 大小可变的集合,支持通过键实现快速读取 multimap 支持同一个键多次出现的map类型 multiset 支持同一个键多次出现的set类型 一.pair类型 在开始介绍关联容器之前,我们需要了解一种与之相关的标准库类型——pair类型,该类型定义在头文件utilty中。下表是pair类型提供的操作。 pair<T1,T2> p1; 创建一个空的pair对象,它的两个元素分别是T1和T2类型,采用值初始化 pair<T1,T2> p1(v1,v2); 创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v2,second成员初始化为v2。 make_pair(v1,v2) 以v1,v2值创建一个新的pair对象,其元素类型分别是v1,v2类型 p1<p2 两个pair对象之间的小于运算,遵循字典顺序