zoukankan      html  css  js  c++  java
  • STL之set和multiset

    set是与集合相关的容器,STL为我们提供了set的实现,在编程题中遇见集合问题直接调用是十分方便

    SET

    set模版类的定义在头文件<set>中。

    定义set对象的示例代码如下:

    set<int> s;
    set<double> ss;
    set的基本操作:

    (set默认从小到大排序)

    s.begin()       //  返回指向第一个元素的迭代器
    s.clear()       //  清除所有元素
    s.count()       //  返回某个值元素的个数
    s.empty()       //  如果集合为空,返回true(真)
    s.end()         //  返回指向最后一个元素之后的迭代器,不是最后一个元素
    s.equal_range() //  返回集合中与给定值相等的上下限的两个迭代器
    s.erase()       //  删除集合中的元素
    s.find()        //  返回一个指向被查找到元素的迭代器
    s.get_allocator()   //  返回集合的分配器
    s.insert()      //  在集合中插入元素
    s.lower_bound() //  返回指向大于(或等于)某值的第一个元素的迭代器
    s.key_comp()    //  返回一个用于元素间值比较的函数
    s.max_size()    //  返回集合能容纳的元素的最大限值
    s.rbegin()      //  返回指向集合中最后一个元素的反向迭代器
    s.rend()        //  返回指向集合中第一个元素的反向迭代器
    s.size()        //  集合中元素的数目
    s.swap()        //  交换两个集合变量
    s.upper_bound() //  返回大于某个值元素的迭代器
    s.value_comp()  //  返回一个用于比较元素间的值的函数

    multiset

    在<set>头文件中,还定义了另一个非常实用的模版类multiset(多重集合)。多重集合与集合的区别在于集合中不能存在相同元素,而多重集合中可以存在。

    定义multiset对象的示例代码如下:

    multiset<int> s;
    multiset<double> ss;


    multiset和set的基本操作相似,需要注意的是,集合的count()能返回0(无)或者1(有),而多重集合是有多少个返回多少个。

  • 相关阅读:
    204. Count Primes (Integer)
    203. Remove Linked List Elements (List)
    202. Happy Number (INT)
    201. Bitwise AND of Numbers Range (Bit)
    200. Number of Islands (Graph)
    199. Binary Tree Right Side View (Tree, Stack)
    198. House Robber(Array; DP)
    191. Number of 1 Bits (Int; Bit)
    190. Reverse Bits (Int; Bit)
    189. Rotate Array(Array)
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387394.html
Copyright © 2011-2022 走看看