容器的基本功能与分类
-
容器类是容纳、包含一组元素或元素集合的对象。
-
基于容器中元素的组织方式:顺序容器、关联容器
-
按照与容器所关联的迭代器类型划分:可逆容器和随机访问容器
容器的基本功能与分类
-
容器
-
unorderedset (无序集合)、unorderedmultiset(无序多重集合)
-
unorderedmap(无序映射)、unordermultimap(无序多重映射)
-
set(集合)、multiset(多重集合)、map(映射)、multimap(多重映射)
-
array(数组)、vector(向量)、deque(双端队列)、forward_list(单链表)、list(列表)
-
顺序容器
-
(有序)关联容器
-
无序关联容器
容器的分类
容器的通用功能
-
用默认构造函数构造空容器
-
支持关系运算符:==、!=、<、<=、>、>=
-
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个元素