set容器
set的各成员函数列表如下:
定义一个int 型集合对象s:set<int> s; 成员函数 s.xxx
begin()-----------返回指向第一个元素的迭代器
clear()-------------清除所有元素
count()-------------返回某个值元素的个数
empty()-------------如果集合为空,返回true
end()-----------------返回指向最后一个元素的迭代器
equal_range()-----返回集合中与给定值相等的上下限的两个迭代器
erase()---------------删除集合中的元素
find()------------------返回一个指向被查找到元素的迭代器
get_allocator()------返回集合的分配器
insert()----------------在集合中插入元素
lower_bound()------返回指向大于(或等于)某值的第一个元素的迭代器
key_comp()----------返回一个用于元素间值比较的函数
max_size()------------返回集合能容纳的元素的最大限值
rbegin()----------------返回指向集合中最后一个元素的反向迭代器
rend()-------------------返回指向集合中第一个元素的反向迭代器
size()--------------------集合中元素的数目
swap()------------------交换两个集合变量
upper_bound()-------返回大于某个值元素的迭代器
value_comp()---------返回一个用于比较元素间的值的函数
multiset多重集合容器是一个可容纳重复元素键值的有序关联容器。与set容器一样,使用红黑树作为容器的内部数据结构,元素的搜索操作都是具有对数级的算法时间复杂度。它的find和equal_range函数,可搜索出某一键值下的所有元素位置。
缺点:和set一样,如果插入、删除操作频繁了,就不合适了。
优点:相对于set,它能插入重复的元素。当然,它的检索速度也是非常快的。
迭代器:
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。
迭代器是一种检查容器内元素并遍历元素的数据类型。