简介:
1、同vector封装数组,list封装链表一样,set和map封装了二叉树(红黑树,性能优于平衡二叉树)
2、有序且去重
3、插入、删除、查找效率高(二叉树)
4、插入or删除后迭代器仍有效
5、set的插入直接insert(x); 因为它是去重且有序。所以不需要输入位置。想想原理
为了更方便、易懂, 笔者将每个函数的用法都注释在了代码中,同学们想要验证或加深印象直接复制到编译器里就可以运行。
代码:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> s;
set<int>::iterator it = s.begin();
//1、插入(输入)元素
for(int i = 0; i < 10; i++)
s.insert(i);
//2、删除元素(删除第0个后面的元素)
s.erase(0);
//3、输出 (迭代器输出)
for(it = s.begin(); it != s.end(); it++)
cout << *it << ' ';
cout << endl;
//4、大小
cout << s.size() << endl;
//5、是否为空
cout << s.empty();
//6、清空
s.clear();
return 0;
}
看到这里有的同学要说话了
传送门1→algorithm头文件函数集合
传送门2→针对set函数练习题
传送门4→百度翻译
传送门3→刷题网址vJudge教程