使用C11新增的区间循环配合auto让容器迭代写起来更方便:
STL的容器可以分为三大类, 定义在同名头文件:
序列型容器: 数组或链表实现的列表, 数据组织紧凑
关联型容器: 红黑树实现的set和...map, 着重优化元素查找效率
无序型容器: 哈希表实现的set和map, 采用闭合式列表, 操作和关联型容器一样
使用容器
类型 名称 底层结构 特性
序列型 array 数组 1....不允许重复, 插入重复数据会报错, 可以使用下标插入法x[key]=value
关联型 set 红黑树 1. 不允许重复的multiset
无序型 unordered_multimap 哈希表 1....此时会重新申请一段两倍大小的数组, 然后将当前数组的全部数据拷贝过去, 再插入新数据, 然后释放老数组, 并最后刷新迭代器指向新申请的这个数组....容器: array
array是STL对原生数组的包装, 目的是在尽量保持原生数组效率的情况下赋予其更多的功能, 主要是新增了边界检查, 元素数量记录, 数组大小记录等功能. array的空间不会像vector