17.Set的常见用法详解优化-[STL模板]
1.set的定义—一个无重复有序的容器
一个元素
set<typename> name;
/* 例如
set<int> a;
set<char> b;
*/
一个数组
set<int> a[100];
2.set元素的访问
只能迭代器访问
set<int>::iterator it; //迭代器的定义
通过:*it访问元素
迭代器访问实例
#include <bits/stdc++.h>
using namespace std;
int main()
{
set<int> a;
a.insert(5); //插入
a.insert(3);
a.insert(1);
a.insert(3);
set<int>::iterator it=a.begin(); ////令it指向容器a的首地址
for(it ;it!=a.end();it++)
cout<<*it;
return 0;
}
输入:5 3 1 3
输出:1 3 5
自动去重且排序
3.set常用函数
(1)insert(x)
将元素x插入到容器
(2)find(x)
寻找值为x的迭代器
(3)erase()
erase(it) 删除it元素的迭代器
可以使用a.erase(a.find(x)) 利用find()找到x 再用erase删除
erase(x)删除容器中的所有x [ 常用 ]
erase(first,last) 删除[ first,last)间的元素 左闭右开
(4)size()
获取set的元素总数
(5)clear()
清空set的所有元素