C++ 中的集合
集(集)
—它是一个自动按升序对添加的元素进行排序的容器。但是当添加相同的值时,set
只会存储它的一个实例(multiset
- multiset- 可能包含重复项)。当一个新元素添加到集合中时,它会立即归位,以免违反排序顺序。
C++中的集合在STL
标准模板库中通过类set (multiset)
定义。
集合是二叉红黑树。 搜索、删除和插入操作具有对数复杂度。
要使用集合,您需要包含“
集合
”库:
#include <设置>;
设置声明:
设置<整数>我的设置; // 声明一个空集。
多集;我的设置; // 声明一个空的多重集。
处理集合(set)的函数
empty()
- 检查容器中是否缺少元素
size()
- 返回容器中元素的数量
clear()
- 清除容器
insert()
- 插入元素
erase()
- 删除元素
count()
- 返回与给定键匹配的元素数
find()
- 查找具有特定键的元素
lower_bound()
- 返回第一个不小于给定值的元素的迭代器
upper_bound()
- 返回第一个大于指定值的元素的迭代器
集合和多重集合示例
#include ;
#include <设置>;
使用命名空间标准;
主函数()
{
设置<整数>我的设置1; //声明一个空集
多集;我的设置2; // 声明一个空的多重集
// 向集合中添加元素
mySet1.insert(1);
mySet1.insert(2);
mySet1.insert(3);
mySet1.insert(1);
// 向多集添加元素
mySet2.insert(1);
mySet2.insert(2);
mySet2.insert(3);
mySet2.insert(1);
设置::迭代器它; //创建一个迭代器
for(it = mySet1.begin(); it != mySet1.end(); it++) { // 显示所有元素
输出 << (*它) << “ "; // 套
}
输出 <<结束;
for(it = mySet2.begin(); it != mySet2.end(); it++) { // 输出所有元素
输出 << (*它) << “ "; // 多重集
}
返回 0;
}