容器的基本功能与分类
- 容器类是容纳、包含一组元素或元素集合的对象。
- 基于容器中元素的组织方式:顺序容器、关联容器
- 按照与容器所关联的迭代器类型划分:可逆容器随机访问容器
容器的基本功能与分类
- 容器
- 顺序容器
- array(数组)、vector(向量)、deque(双端队列)、forward_list(单链表)、list(列表)
- (有序)关联容器
- set(集合)、multiset(多重集合)、map(映射)、multimap(多重映射)
- 无序关联容器
- unorderedset (无序集合)、unorderedmultiset(无序多重集合)
- unorderedmap(无序映射)、unordermultimap(无序多重映射)
- 顺序容器
容器的分类
容器的通用功能
- 容器的通用功能
- 用默认构造函数构造空容器
- 支持关系运算符:==、!=、<、<=、>、>=
- begin()、end():获得容器首、尾迭代器
- clear():将容器清空
- empty():判断容器是否为空
- size():得到容器元素个数
- s1.swap(s2):将s1和s2两容器内容交换
- 相关数据类型(S表示容器类型)
- S::iterator:指向容器元素的迭代器类型
- S::const_iterator:常迭代器类型
对可逆容器的访问
- STL为每个可逆容器都提供了逆向迭代器,逆向迭代器可以通过下面的成员函数得到:
- rbegin() :指向容器尾的逆向迭代器
- rend():指向容器首的逆向迭代器
- 逆向迭代器的类型名的表示方式如下:
- S::reverse_iterator:逆向迭代器类型
- S::constreverseiterator:逆向常迭代器类型
随机访问容器
- 随机访问容器支持对容器的元素进行随机访问
- s[n]:获得容器s的第n个元素