开发手册 欢迎您!
软件开发者资料库

C ++库 - <set>

C ++&lt;set&gt;库 - 从基本概念到高级概念,从简单而简单的步骤学习C ++算法库,其中包括C ++标准库和标准模板库(STL),涵盖所有内置类和函数。所有C ++容器,算法,函数,类,常量和头文件都使用非常容易理解的示例进行了详细解释,fstream,iomanip,ios,iosfwd,iostream,istream,ostream,sstream,streambuf,atomic,complex,exception ,功能,限制,区域设置,内存,新,数字,正则表达式,stdexcept,字符串,线程,元组,typeinfo,实用程序,valarray,数组,bitset,deque,转发列表,列表,地图,队列,设置,堆栈,无序地图,无序集,向量,算法,迭代器。

简介

set 是一个关联容器,它包含一组有序的Key类型的唯一对象.每个元素只能出现一次,因此不允许重复.

有四种关联容器:set,multiset,map和multimap.

集合中元素的值不能在容器中修改一次,即元素总是const.但是它们可以从容器中插入或删除.

set容器通常比unordered_set容器在按键访问单个元素时要慢,但它们允许根据子命令直接迭代子集.

定义

以下是来自< set>的std :: set的定义头文件

template <     class Key,    class Compare = std::less,    class Allocator = std::allocator> class set;

参数

  • Key : 包含的元素的类型.

    键可以被任何其他数据类型替换,包括用户定义的类型.

成员类型

以下成员类型可以用作参数或按成员函数返回类型.

Sr.No.会员类型定义
1key_typeKey
2value_typeKey
3referenceAllocator :: reference

value_type&

4const_referenceAllocator :: const_reference

const value_type&

5pointerAllocator :: pointer

std :: allocator_traits< Allocator> :: pointer

6const_pointerAllocator :: const_pointer

std :: allocator_traits< Allocator> :: const_pointer

7iteratorBidirectionalIterator
8const_iterator常量BidirectionalIterator
9reverse_iteratorstd :: reverse_iterator< iterator>
10const_reverse_iteratorstd :: reverse_iterator< const_iterator>
11size_type无符号整数类型(标准::的size_t)
12difference_type签名整数类型(std :: ptrdiff_t)
13key_compare比较
14value_compare比较
15allocator_type分配器

来自< set>的函数

以下是来自< set>的所有方法的列表标题.

成员函数

默认成员函数

Sr.No.方法&说明
1默认构造函数

构造集合容器.

2范围构造函数

构造包含范围内容的集合容器.

3复制构造函数

构造集合容器与其他集的副本.

4移动构造函数

使用移动语义构造包含其他集合内容的集合容器.

5初始化列表构造函数

使用inializer列表的内容构造set容器.

6(析构函数)

破坏集合容器.

7operator =

将值分配给集合容器.

ITERATORS

Sr.不.方法&说明
1set::begin

将迭代器返回到开头.

2set : :cbegin

将const迭代器返回到开头.

3set :: end

返回结束的迭代器.

4set :: cend

返回要结束的常量迭代器.

5set::rbegin

返回反向开始的反向迭代器.

6set :: crbegin

返回const反向迭代器以反向开始.

7set :: rend

返回反向迭代的反向迭代器.

8set :: crend

返回const反向迭代器到反向结束.

CAPACITY

Sr.No.方法&说明
1set::empty

返回设置容器为空的时间.

2set :: size

返回集合容器中的元素数.

3set :: max_size

返回集合容器可以容纳的最大元素数.

MODIFIERS

Sr.No.方法&说明
1set::clear

从集合容器中删除所有元素.

2set :: insert

在集合容器中插入新元素.

3set :: emplace

在集合中插入新元素,如果它是唯一的.

4set :: emplace_hint

在集合中插入新元素,如果它是唯一的,带有提示插入位置.

5set :: erase

从集合容器中删除单个元素或一系列元素.

6set :: swap

使用相同类型的另一个集合容器的内容交换容器的内容.

LOOKUP

Sr.No.方法&说明
1set::count

返回集合容器中具有匹配值的元素数.

2set :: find

在set容器中搜索value,如果找到则返回一个迭代器,否则返回一个迭代器到set :: end.

3set::lower_bound

返回指向集合容器中第一个元素的迭代器,该元素不被视为在值之前.

4set :: upper_bound

返回迭代器点g到集合容器中的第一个元素,它被认为是在值之后.

5set :: equal_range

返回界限包含集合容器中与值等价的所有元素的范围.

OBSERVERS

Sr.No.方法&说明
1set::key_comp

返回集合容器使用的比较对象的副本.

2set :: value_comp

返回set容器使用的比较对象的副本.

ALLOCATOR

Sr.No.Method&说明
1set::get_allocator

返回与集合容器关联的分配器对象的副本.

会员超载功能

Sr.No.方法&说明
1set :: operator ==

比较两个容器的内容,无论它们是否相等.

2set :: operator!=

比较两个容器的内容,不论它们是否不相等.

3set :: operator<

比较两个容器的内容,小于.

4set::operator<=

比较两个容器的内容,小于等于.

5set :: operator>

比较两个容器的内容,它们大于.

6set :: operator> =

比较两个容器的内容,当它们大于等于.