简介
在头文件set>中定义
namespace std
{
template <typename T,
typename Compare = less<T>,
typename Allocator = allocator<T> >
class set;
template <typename T,
typename Compare = less<T>,
typename Allocator = allocator<T> >
class multiset;
}
set和multiset都是关联容器,是有序的集合,集合中包含不可重复的、类型为Key的元素。排序通过使用类型为Compare的比较函数比较来实现。搜索,删除和插入操作具有对数时间复杂度。set和multiset通常都以红黑树实现。multiset相对set来说能够允许重复值的存在。
set和multiset不提供用来直接存取元素的任何操作函数
通过迭代器进行元素间存取,有一个限制:从迭代器角度看,元素值是常数。
set和multiset操作
构造、复制与析构
set c //默认构造函数;创建一个空set/multiset
set c(op) //创建一个空set/multiset,并以op原则作为排序准则
set c(c2) //复制构造函数;创建一个新的set/mult