美文网首页
算法笔记(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