zoukankan      html  css  js  c++  java
  • STL— set

    转自:https://www.cnblogs.com/xenny/p/9362743.html

    https://www.cnblogs.com/isChenJY/p/11535335.html

    1,首先Set遵循数学集合三特性,无重复、无序性、确定性

    Set中内置红黑树进行排序,所以插入删除效率很高。

    2,基操

    int a[] = {1,2,3,4,5};
        set<int>q;
        
        q.insert(x);      //集合中插入元素
        q.insert(a,a+5);  //插入数组a至a+5的元素
        q.find(x);        //返回x值位置的迭代器,找不到返回q.end()  
        q.erase(iter);    //删除集合中的元素
        q.size();         //返回当前set容器中的元素个数
        q.count();        //返回某个值元素的个数(根据set的特性,就是判断这个元素在不在,返回0或1)
        q.begin();        //返回头位置迭代器
        q.end();          //返回尾位置迭代器
    
        q.rbegin();       //返回尾部反向迭代器
        q.rend();         //返回头部反向迭代器
        q.clear();        //删除set容器中的所有的元素
        q.empty();        //判断set容器是否为空
        q.lower_bound();  //返回指向大于(或等于)某值的第一个元素的迭代器,如果value大于 [ begin, end) (半开区间)的任何一个元素,则返回 end
        q.upper_bound();  //返回大于某个值元素的迭代器

     4,函数

     insert(x):可将 x 插入 set 容器中,并自动递增排序和去重,时间复杂度O(logN) 

    5,排序

    struct cmp{
            bool operator() (const node &a,const node &b){
                return a.x < b.x;
            }
        };
        
        set<node,cmp>q;

    ========= ======== ======== ======= ====== ====== ==== === == =

    定风波  苏轼 宋

    三月七日,沙湖道中遇雨。雨具先去,同行皆狼狈,余独不觉。已而遂晴,故作此词。

    莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
    料峭春风吹酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴
  • 相关阅读:
    洛谷 P2023 BZOJ 1798 [AHOI2009]维护序列
    洛谷 P1640 BZOJ 1854 [SCOI2010]连续攻击游戏
    洛谷 P4300 BZOJ 1266 [AHOI2006]上学路线route
    洛谷 P1886 滑动窗口
    洛谷 P1063 能量项链
    洛谷 P1156 垃圾陷阱
    洛谷 P1854 花店橱窗布置
    洛谷 P3800 Power收集
    洛谷 P2285 BZOJ 1207 [HNOI2004]打鼹鼠
    day31
  • 原文地址:https://www.cnblogs.com/asdfknjhu/p/12602563.html
Copyright © 2011-2022 走看看