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; }

使用set 比较器
按降序创建有序集的比较器示例。 结构 CMP { 布尔运算符()(int a,int b)常量{ 返回一个> b; } };
创建 set 时使用比较器。 设置 ;年代;