zoukankan      html  css  js  c++  java
  • set的学习笔记

                           set的简单食用方法介绍

    set是C++中的一个STL,据说的是用红黑树实现的,可以用于一些题目的去重,排序。插入,删除统计个数操作的复杂度都是O(logN),获取和清空分别为O(1)和O(n),具有很好的泛用性。(当然stl会很慢,但是总比考场打200多行的红黑树好)

    它的定义方式如下

    set<*****> s;

    其中*****是指该集合的类型,s是集合的名称

    初始的时候集合都是空集

    这里集合的定义要说一下,集合中

    •  没有重复元素

    就跟高中必修一中讲的集合类似

    1. 插入

                      .insert();插入新元素

                      如果这个元素已经出现了,就当输入数据在放屁(等于什么也没做)

                      set<string> s;

                      s.insert("1145141919810");

                      s.insert("hhhhhhh");

           2.删除

            .erase();删除新元素

              记法:檫除的英文

              s.erase("1145141919810");

              当然这个元素要是真实存在在set里的,不然也会被当成放屁

         3.查找

            s.count()

              记法:一个一个数(当然内部不可能真的一个一个数,不然就爆了

              用法

              if(s.count("1145141919810")

              {

                    cout << "echou";

               }

               s.count("***")相当于一个bool类型的函数

               它在set里面查找为“***”的元素,如果找到了返回1,没有就返回0;

          4.遍历,打印每一个元素

            遍历是用迭代器实现的,迭代器这个东西就好像一根手指,能够指出每一个东西

              它的特点就是:用从小到大的顺序(字符串也是能排序滴),方便查找,打印,每一个存在集合中的元素(其实是难记


              相当于用set<string>::iterator定义一个指针it,指向s的开头(可以理解为for循环中的int i = 1)

              中间是it不指向set的结尾,即为:it != s.end();

              最后 it ++

              用法

              for (set<string>::iterator it = s.begin(); it != s.end(); it ++) {

                      cout << *it << endl;//相当于指针,输出但不改变it的值

              }

             5.清空

                   .clear()

                  可用s.clear()清空set,同时会释放set所占用的内存

    以上就是set的简单食用方法了(考场够你用的了)

    如果您想了解更多关于set的用法,可以访问一下官方博客(前提你英语够好(你不会用百度翻译吗))

    http://www.cplusplus.com/reference/set/set/?kw=set

    求点赞     

  • 相关阅读:
    HDUOJ--4565 So Easy!
    简单的java实验,涉及到 类继承以及接口问题,方法体的重写(区别于重载)
    java 快速求素数
    狄斯奎诺(dijkstra 模板)
    2014 蓝桥杯 阶梯报告(含代码 详细讲解)
    HDUOJ---汉洛塔IX
    小错误系列
    HDUOJ-----4510 小Q系列故事——为什么时光不能倒流
    HDUOJ----4509湫湫系列故事——减肥记II
    HDUOJ-----4506小明系列故事——师兄帮帮忙
  • 原文地址:https://www.cnblogs.com/liujunxi/p/13416307.html
Copyright © 2011-2022 走看看