美文网首页
算法笔记(10)| STL之set

算法笔记(10)| STL之set

作者: yzbkaka | 来源:发表于2019-08-13 16:30 被阅读0次

set翻译为集合,是一个内部自动有序而且不重复的容器。在算法中有可能需要去除重复元素的情况下可以使用set。使用set需要使用头文件#include<set>

1.set的定义

单独定义set:

set<int> a;
set<double> b;
set<char> c; 

定义set数组:

set<int> a[10];  //从a[0]-a[10]全部都是set容器

2.set元素访问

set只能通过迭代器访问:

set<int>::iterator it;  //定义与set相同类型的迭代器
set<double>::iterator it;
set<char>::iterator it;

定义了迭代器,就可以通过*it来访问set里面的元素:

for(it=st.begin();it!=st.end();it++){
    printf("%d",*it);
}

3.set常用函数

(1) insert()
insert(x)可以将x插入set容器中,并且会自动排序(递增顺序)和去重:

set<int> st;
st.insert(2);
st.insert(3);
st.insert(1);

(2) find()
find(value)返回set中对应值为value的迭代器:

set<int>::iterator it=find(2);  //找到值为2的set中的迭代器

(3) erase()
删除单个元素或者删除一个区间内的所有元素:

st.erase(st.find(1));  //删除set中值为1的
st.erase(it.find(30),st.end());  //删除元素30至set末尾之间的元素

(4) size()
返回set内元素的个数。

(5) clear()
清空set中所有的元素。

相关文章

网友评论

      本文标题:算法笔记(10)| STL之set

      本文链接:https://www.haomeiwen.com/subject/jgdbjctx.html