zoukankan      html  css  js  c++  java
  • STL set简单用法

    set的常见用法详解

    set翻译为集合,是一个内部自动有序并且不含重复元素的容器。

    可以用于去掉重复元素,或者元素过大,或者不能散列的情况,set只保留元素本身而不考虑它的个数。

    头文件:#include<set>

    1. set的定义

      单独定义一个set:

      set<typename> name;
      //与其他容器一样,要注意不要出现>>两个大于号相连
      
    2. set容器内元素的访问

      set只能通过迭代器访问。

      set<typename>::iterator it;
      

      set的元素自动递增排序,并且自动出去重复元素。

    3. set常用函数实例解析

      1. insert()

        insert(x)可以将x插入set容器,并且自动递增排序和去重,时间复杂度O(logN),其中N为set内元素个数。

      2. find()

        find(value)返回set中对应值为value的迭代器,时间复杂度为O(logN)。

      3. erase()

        两种用法:删除单个元素,删除一个区间内的所有元素

      4. size()

        用来获得set内元素的个数,时间复杂度为O(1)。

      5. clear()

        用来清空set中的元素,时间复杂度O(N)。

    4. set的常见用途

      做主要的作用是自动 去重并按升序排序,因此碰到需要去重但是却不方便直接开数组的情况,可以尝试用set解决。

  • 相关阅读:
    HDU 1114 Piggy-Bank
    HDU 2955 Robberies
    NTOJ 290 动物统计(加强版)
    POJ 3624 Charm Bracelet
    HDU 2602 Bone Collector
    POJ 1523 SPF(无向图割顶)
    HDU 5311 Hidden String
    HDU 1421 搬寝室
    HDU 1058 Humble Numbers
    POJ 3259 Wormholes(spfa判负环)
  • 原文地址:https://www.cnblogs.com/hebust/p/9393896.html
Copyright © 2011-2022 走看看