本文所介绍的std::set用法基于C++11,std::set定义于头文件<set>中,其定义如下:
template<
class Key,
class Compare = std::less<Key>,
class Allocator = std::allocator<Key>
> class set;
std::set 是关联容器,含有 Key
类型对象的已排序集。用比较函数 Compare
进行排序。搜索、移除和插入拥有对数复杂度。 set 通常以红黑树实现。其包含成员类型其成员函数如下:
成员类型
成员类型 | 定义 |
---|---|
key_type | Key |
value_type | Key |
size_type | 无符号整数类型(通常是 std::size_t ) |
difference_type | 有符号整数类型(通常是 std::ptrdiff_t ) |
key_compare | Compare |
value_compare | Compare |
allocator_type | Allocator |
reference | value_type& |
const_reference | const value_type& |
pointer | std::allocator_traits<Allocator>::pointer |
const_pointer | std::allocator_traits<Allocator>::const_pointer |
iterator | 常双向迭代器 (Constant BidirectionalIterator ) |
const_iterator | 常双向迭代器 |
reverse_iterator | std::reverse_iterator<iterator> |
const_reverse_iterator | std::reverse_iterator<const_iterator> |
成员函数
成员函数 | 作用 |
---|---|