C++ STL Set
Set 是 C++ STL(标准模板库)的一部分。Set 是一种关联容器,它存储排序的键,其中每个键都是唯一的,可以插入或删除,但不能更改。
语法
template <class T, // set::key_type/value_type
class Compare = less<T>, //set::key_compare/value_compare
class Alloc = allocator<T> // set::allocator_type
> class set;
参数
T:容器 set 中存储的元素类型。
Compare:一个比较类,它接受两个相同类型的参数并返回一个值。该参数是可选的,默认值为二元谓词 less<T>。
Alloc:用于定义存储分配模型的分配器对象的类型。
成员函数
以下是 set 的所有成员函数列表:
构造函数/析构函数
函数 | 描述 |
---|
(constructor) | 构造 set。 |
(destructor) | Set 的析构函数。 |
operator= | 将 set 的元素复制到另一个 set。 |
迭代器
函数 | 描述 |
---|
begin() | 返回指向 set 第一个元素的迭代器。 |
cbegin() | 返回指向 set 第一个元素的 const 迭代器。 |
end() | 返回指向尾后元素的迭代器。 |
cend() | 返回指向尾后元素的 const 迭代器。 |
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() | 按给定的键搜索元素。 |
find() | 按给定的键搜索元素。 |
count() | 获取与给定键匹配的元素数量。 |
lower_bound() | 返回一个指向下限的迭代器。 |
upper_bound() | 返回一个指向上限的迭代器。 |
equal_range() | 返回与给定键匹配的元素范围。 |
分配器
函数 | 描述 |
---|
get_allocator() | 返回用于构造 set 的分配器对象。 |
非成员重载函数
函数 | 描述 |
---|
operator== | 检查两个 set 是否相等。 |
operator!= | 检查两个 set 是否不相等。 |
operator< | 检查第一个 set 是否小于另一个 set。 |
operator<= | 检查第一个 set 是否小于等于另一个 set。 |
operator> | 检查第一个 set 是否大于另一个 set。 |
operator>= | 检查第一个 set 是否大于等于另一个 set。 |
swap() | 交换两个 set 的元素。 |
标签: C++语言, C++语言教程, C++语言技术, C++语言学习, C++语言学习教程, C++语言下载, C++语言开发, C++语言入门教程, C++语言进阶教程, C++语言高级教程, C++语言面试题, C++语言笔试题, C++语言编程思想