zoukankan      html  css  js  c++  java
  • set/multiset_01

    按序排列

    不能指定插入位置

    红黑树变体

    不可以直接存取元素(即 无[?]/at(?)操作)

    不可以直接修改元素值(用 先删除后添加的方式,达到相同效果)

    A、头尾 添加/移除

    B、随机存取

    C、数据存取

    1、构造函数

      1.1、默认构造函数 ==> 无参构造函数

      1.2、必定需要 复制构造函数 :set<T> setT(const set& st);

      1.3、set<T> setT(iteratorBegin, iteratorEnd);  // 迭代器区间[iteratorBegin, iteratorEnd)拷贝给setT

        注意: 这里可以传数组指针,数组指针在特定情况下可以当做迭代器使用

      1.4、无  // n个elemValue复制给lstT

    2、赋值

      2.1、重载"="操作符

          set& = const set& vec;

      2.2、无  // [beg, end)区间拷贝给

      2.3、无  // n个elemValue拷贝给

    3、迭代器操作

      3.1、const_iterator set<T>::begin();  // 第1个

      3.2、const_iterator set<T>::end();  // 最后1个

      3.3、const_reverse_iterator set<T>::rbegin();  // 倒数第1个

      3.4、const_reverse_iterator set<T>::rend();  // 倒数最后1个

    4、插入

      注意: 拷贝插入(ZC: 也就是类实例的话,类必须提供复制构造函数)
      std::pair<set<T>::iterator, bool> pair = set::insert(elemValue);  // 返回pair<指向新元素的iterator, 插入是否成功>,拷贝插入

    5、删除

      void set::clear();
      iterator set::erase(const_iterator beg, const_iterator end); // [beg, end)区间,返回下一个元素的位置(迭代器)
      iterator set::erase(const_iterator pos);           // 返回下一个元素的位置(迭代器)

      size_type set::erase(elemValue);  // 删除 容器中 值为 elemValue的元素

    6、交换

      void set<T>::swap(set<T>&);

    7、大小

      size_type set<T>::size();
      bool set<T>::empty();

    8、查找

      iterator set::find(key_value elem);  // 返回指向elem的迭代器

      size_type set::count(key_value elem);  // 返回容器中值为elem的元素个数

      iterator set::lower_bound(key_value elem);  // 返回第一个>=elem元素的迭代器

      iterator set::upper_bound(key_value elem);  // 返回第一个>elem元素的迭代器

      std::pair<set<T>::iterator, set<T>::iterator> pair01 = setT.equal_range(key_value elem); // 返回容器中与elem相等的上下限的两个迭代器。上限是闭区间,下限是开区间。如[beg, end)

    9、排序

      9.1、默认排序函数

        less<T>

        greater<T>

  • 相关阅读:
    JavaScript 为字符串添加样式 【每日一段代码80】
    JavaScript replace()方法 【每日一段代码83】
    JavaScript for in 遍历数组 【每日一段代码89】
    JavaScript 创建用于对象的模板【每日一段代码78】
    html5 css3 新元素简单页面布局
    JavaScript Array() 数组 【每日一段代码88】
    JavaScript toUTCString() 方法 【每日一段代码86】
    位运算
    POJ 3259 Wormholes
    POJ 3169 Layout
  • 原文地址:https://www.cnblogs.com/cppskill/p/5412099.html
Copyright © 2011-2022 走看看