一、C++容器分类
C++容器可分为序列式容器和关联式容器两大类,序列式容器包括 array、vector、list(双向链表)、deque(双端队列) 和 forward_list,关联式容器又分为排序关联式容器和无序关联式容器
换句话说STL 提供有 3 类标准容器,分别是序列容器、排序容器和哈希容器,其中后两类容器有时也统称为关联容器
关联式容器存储的是**“键值对”**形式的数据
二、键值对pair类
头文件<utility>
提供创建 pair 对象的方法之外,还为 pair 对象重载了 <、<=、>、>=、==、!= 这 6 的运算符,对于进行比较的 2 个 pair 对象,先比较 pair.first 元素的大小,如果相等则继续比较 pair.second 元素的大小,对于进行比较的 2 个 pair 对象,其对应的键和值的类型比较相同,否则将没有可比性。
swap()互换 2 个 pair 对象的键值对,前提是这 2 个 pair 对象的键和值的类型要相同
pair1.swap(pair2)
make_pair(key,value)
三、map 、set
<map> 头文件中,并位于 std 命名空间
作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,包括 C++ 基本数据类型(i