set集合容器是采用二叉树为基础的数据结构实现。由于删除和插入元素操作都只要修改指针的指向,因此set集合在插入与删除元素操作上效率非常高。
set是一种允许随机存取元素的容器,同样是键与值关系的容器,但是要求set集合容器中的元素值必须唯一,不能重复。
引用头文件:
#include <set>
初始化方法:
set<char> charValue1; //定义char字符类型的集合对象charValue1
set<char> charValue2(charValue1); //定义char字符类型的集合对象charValue2
set
基本操作
:
接口方法名称 | 基本功能说明 |
begin() | 返回指向当前集合容器的第一个元素的迭代器 |
clear() | 清空当前集合容器 |
count(value) | 统计并返回当前集合容器中元素value出现的次数 |
empty() | 判断当前集合容器是否为空,为空则返回true |
end() | 返回指向当前集合容器的最后一个元素的迭代器 |
equal_range(value) | 返回当前集合容器中元素为value的第一个位置以及最后一个位置的迭代器 |
erase(iter) | 删除当前集合容器中迭代器iter指向的元素 |
erase(value) | 删除当前集合容器中值为value的元素 |
erase(firstIter,endIter) | 删除当前集合容器中区间为firstIter到endIter迭代器之间的元素 |
find(value) | 返回当前集合容器中指向元素value的迭代器,如果没有找到则返回该集合最后一个元素的迭代器与end方法同 |
insert(value) | 当前集合容器中插入元素value,按照默认方式排序元素 |
insert(iter,value) | 当前集合容器中iter迭代器指向位置前插入元素value,并且返回一个指向该元素的迭代器 |
insert(firstIter,endIter) | 将迭代器firstIter到endIter区间的元素插入到当前集合容器中 |
lower_bound(value) | 如果value元素在当前集合中则返回当前元素指向的迭代器,如果value元素不在集合中则返回指向下一个元素的迭代器 |
upper_bound(value) | 如果value元素在当前集合中则返回下一个元素指向的迭代器,如果不存在也返回下一个元素指向的迭代器 |
max_size() | 返回当前集合容器的最大容量 |
rebegin() | 返回当前反向集合容器中第一个元素的迭代器 |
rend() | 返回当前反向集合容器中最后一个元素的迭代器 |
size() | 返回当前集合中实际元素个数 |
swap(setcontains) | 交换两个集合容器内容 |