set(集合)顾名思义,就是数学上的集合 —— 每个元素最多只出现一次,并且 set 中的元素已经从小到大排好序。
特点
?? ?1. 使用红黑树实现,其内部元素依据其值自动排序,每个元素值只能出现一次,不允许重复。
?? ?2. 每次插入值的时候,都需要调整红黑树,效率有一定影响。(缺点)
?? ?3. map 和 set 的插入或删除效率比用其他序列容器高,因为对于关联容器来说,不需要做内存拷贝和内存移动。(优点)
总结:由红黑树实现,其内部元素依据其值自动排序,每个元素值只能出现一次,不允许重复,且插入和删除效率比用其他序列容器高。
示例源码:
// Len_stl.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> setTemp;
setTemp.insert(33);
setTemp.insert(11);
setTemp.insert(22);
setTemp.insert(11); // 当插入重复的数据的时候,不会重复插入
set<int>::iterator it;
cout << "遍历set容器" << endl;
for (it = setTemp.begin(); it != setTemp.end(); it++)
{
cout << *it << endl;
}
return 0;
}
执行结果: