简介
集合(set) 用以有序地存储 互异 元素的容器。
其实现是由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种比较元素大小的谓词进行排列。
头文件
#include <set>
常用操作
声明
set<数据类型> 变量名
操作
插入与删除
insert(x)
当容器中没有等价元素的时候,将元素 \(x\) 插入到 \(set\) 中。erase(x)
删除值为 \(x\) 的 所有 元素,返回删除元素的个数。erase(pos)
删除迭代器为 \(pos\) 的元素,要求迭代器必须合法。erase(first,last)
删除迭代器在 \([first,last)\) 范围内的所有元素。clear()
清空 \(set\)。
迭代器
俺不会
查找
count(x)
返回 \(set\) 内键为 \(x\) 的元素数量。find(x)
在 \(set\) 内存在键为 \(x\) 的元素时会返回该元素的迭代器,否则返回 \(end()\)。lower_bound(x)
返回指向首个不小于给定键的元素的迭代器。如果不存在这样的元素,返回 \(end()\)。upper_bound(x)
返回指向首个大于给定键的元素的迭代器。如果不存在这样的元素,返回 \(end()\)。empty()
返回容器是否为空。size()
返回容器内元素个数。