C++语言程序设计 清华大学郑莉 迭代器的辅助函数 ●advance(p,n) 迭 -对p执行n次自增操作 代 distance(first,last) 器 计算两个迭代器first和last的距离,即对 frst执行多少次“+”操作后能够使得 first =last
C++语言程序设计 清华大学 郑莉 迭代器的辅助函数 ⚫ advance(p, n) – 对p执行n次自增操作 ⚫ distance(first, last) – 计算两个迭代器first和last的距离,即对 first执行多少次“++”操作后能够使得 first == last 11 迭 代 器
C++语言程序设计 清华大学郑莉 容器 容器类是容纳、包含一组元素或元素 容 集合的对象。 。七种基本容器: -向量(vector)、双端队列(deque)、 器 列表(Iist)、集合(set)、多重集合 (multiset)、映射(map)和多重映射 (multimap) 12
C++语言程序设计 清华大学 郑莉 12 容器 ⚫ 容器类是容纳、包含一组元素或元素 集合的对象。 ⚫ 七种基本容器: – 向量(vector)、双端队列(deque)、 列表(list)、集合(set)、多重集合 (multiset)、映射(map)和多重映射 (multimap) 容 器
C++语言程序设计 清华大学郑莉 容器的概念图 容器(Container) 容 容器(Container)) 顺序容器 关联容器 (Sequence) (Associative Container) set multiset 器 可逆容器 list (Reversible Container) map multimap F44444444444 随机访问容器 vector (Random Access Container) deque
C++语言程序设计 清华大学 郑莉 容器的概念图 13 容 器 容器(Container) 随机访问容器 (Random Access Container) 可逆容器 (Reversible Container) 容器(Container) 顺序容器 (Sequence) 关联容器 (Associative Container) vector deque list multiset multimap set map
C++语言程序设计 清华大学郑莉 容器的通用功能 ●容器的通用功能 一用默认构造函数构造空容器 容 一支持关系运算符:==、=、<、<=、>、> -begin(0、end0:获得容器首、尾迭代器 clear():将容器清空 器 empty0:判断容器是否为空 size0:得到容器元素个数 s1.swap(s2):将s1和s2两容器内容交换 ·相关数据类型(S表示容器类型) S::iterator:指向容器元素的迭代器类驮 S:const iterator:常迭代器类型 14
C++语言程序设计 清华大学 郑莉 14 容器的通用功能 ⚫ 容器的通用功能 – 用默认构造函数构造空容器 – 支持关系运算符:==、!=、<、<=、>、>= – begin()、end():获得容器首、尾迭代器 – clear():将容器清空 – empty():判断容器是否为空 – size():得到容器元素个数 – s1.swap(s2):将s1和s2两容器内容交换 ⚫ 相关数据类型(S表示容器类型) – S::iterator:指向容器元素的迭代器类型 – S::const_iterator:常迭代器类型 容 器
C++语言程序设计 清华大学郑莉 可逆容器、随机访问容器 ● 可逆容器 容 S:reverse_Literator:逆向迭代器类型 - S:const_reverse_iterator:逆向常迭代 器类型 器 rbegin(0:指向容器尾的逆向迭代器 rend0:指向容器首的逆向迭代器 随机访问容器 s[nl:获得容器s的第n个元素 15
C++语言程序设计 清华大学 郑莉 可逆容器、随机访问容器 ⚫ 可逆容器 – S::reverse_iterator:逆向迭代器类型 – S::const_reverse_iterator:逆向常迭代 器类型 – rbegin() :指向容器尾的逆向迭代器 – rend():指向容器首的逆向迭代器 ⚫ 随机访问容器 – s[n]:获得容器s的第n个元素 15 容 器