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++语言编程思想