菜鸟笔记
提升您的技术认知

C++ SET(集合)

阅读 : 113

简介

Sets是 C++ STL的一部分(标准模板库)。SET合是存储排序键的关联容器,其中每个键都是唯一的,可以插入或删除但不能更改。

语法

template < class T,                             // set::key_type/value_type
           class Compare = less,        // set::key_compare/value_compare
           class Alloc = allocator         // set::allocator_type
           > class set;

参数

T : 存储在容器SET中的元素类型。 Compare : 一个比较类,它接受两个具有相同bool类型的参数并返回一个值。该参数是可选的,并且二进制谓词less 是默认值。 Alloc : 用于定义存储分配模型的分配器对象的类型。

成员函数

以下是SET合的所有成员函数的列表:

构造函数/析构函数

功能 说明
(构造函数) 构造SET
(析构函数) 析构函数
operator= 将SET合的元素复制到另一个SET合。

迭代器

功能 说明
Begin 返回指向SET合中第一个元素的迭代器。
cbegin 返回指向SET合中第一个元素的const迭代器。
End 返回指向末尾的迭代器。
Cend 返回一个指向末尾的常量迭代器。
rbegin 返回指向结尾的反向迭代器。
Rend 返回指向起点的反向迭代器。
crbegin 返回一个指向末尾的常量反向迭代器。
Crend 返回指向起点的常量反向迭代器。

容量

功能 说明
empty 如果set为空,则返回true。
Size 返回SET合中的元素数量。
max_size 返回SET合的最大大小。

修饰符

功能 说明
insert 将元素插入SET合中。
Erase 从SET合中擦除元素。
Swap 交换SET合的内容。
Clear 删除SET合中的所有元素。
emplace 构造并将新元素插入到SET合中。
emplace_hint 通过提示构造并将新元素插入到SET合中。

观察者

功能 说明
key_comp 返回键比较对象的副本。
value_comp 返回值比较对象的副本。

操作

功能 说明
find 搜索具有给定键的元素。
count 获取与给定键匹配的元素数。
lower_bound 将迭代器返回到下限。
upper_bound 将迭代器返回上限。
equal_range 返回与给定键匹配的元素的范围。

分配器

功能 说明
get_allocator 返回用于构造SET合的分配器对象。

非成员重载函数

功能 说明
operator== 检查两组是否相等。
operator!= 检查两组是否相等。
operator< 检查第一组是否少于其他组。
operator<= 检查第一个SET合是否小于或等于其他SET合。
operator> 检查第一个SET合是否大于其他SET合。
operator>= 检查第一个SET合是否大于其他SET合。
swap() 交换两组元素。