1、综述
set是C++STL中众多的Container(容器)之一,用于储存数据并且能从一个数据集合中取出数据,它的每个元素的值必须惟一。set内部通过自建红黑树(一种非严格意义上的平衡二叉树)实现,可以对数据自动排序。构造set集合主要目的是为了快速检索,不可直接去修改键值。
2、set的常见操作
首先,在使用map之前需包含头文件#include<set>,下面简要介绍map的常见操作,详细信息可参见
(1)构造函数:
构造函数有多种实现形式,如下举例:
示例中int是set中数据类型,可以为其他类型,如char,float。
(2)插入数据:
(3)查找元素:
利用find()方法,find()函数返回一个对应查找值迭代器,如果没找到就返回指向set尾部的迭代器。
(4)元素遍历:
利用迭代器实现,也可以进行逆向遍历。示例如下:
(5)元素删除:
采用erase()方法实现:
(6)swap()方法:
实现的是对两个set的整体交换。
(7)size()方法:
返回set的大小,即元素的个数。
(8)empty()方法
判断map是否为空,若map为空,则返回true。
(9)begin()方法:
返回指向map头部的迭代器
(10)end()方法:
返回指向map尾部的迭代器
(11)clear()方法:
清除整个set的内容
3、常见操作程序示例
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM4IjM1MDMwADMyUDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)