zoukankan      html  css  js  c++  java
  • STL模板整理 set

    SET

    set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。

    set常用操作:

    1. begin()--返回指向第一个元素的迭代器

    2. clear()--清除所有元素

    3. count()--返回某个值元素的个数

    4. empty()--如果集合为空,返回true

    5. end()--返回指向最后一个元素的迭代器

    6. equal_range()--返回集合中与给定值相等的上下限的两个迭代器

    7. erase()--删除集合中的元素

    8. find()--返回一个指向被查找到元素的迭代器

    9. get_allocator()--返回集合的分配器

    10. insert()--在集合中插入元素

    11. lower_bound()--返回指向大于(或等于)某值的第一个元素的迭代器

    12. key_comp()--返回一个用于元素间值比较的函数

    13. max_size()--返回集合能容纳的元素的最大限值

    14. rbegin()--返回指向集合中最后一个元素的反向迭代器

    15. rend()--返回指向集合中第一个元素的反向迭代器

    16. size()--集合中元素的数目

    17. swap()--交换两个集合变量

    18. upper_bound()--返回大于某个值元素的迭代器

    19. value_comp()--返回一个用于比较元素间的值的函数

    常用操作及代码示范:

    #include <iostream>
    #include <set>
    using namespace std;
    /*
    begin()        返回set容器的第一个元素
    
    end()         返回set容器的最后一个元素
    
    clear()        删除set容器中的所有的元素
    
    empty()      判断set容器是否为空
    
    insert()       在集合中插入元素
    
    find()         查找某个元素,返回其迭代器
    
    max_size()     返回set容器可能包含的元素最大个数
    
    size()      返回当前set容器中的元素个数
    
    rbegin     返回的值和end()相同
    
    rend()     返回的值和begin()相同
    */
    int main() {
      set<long long > s;
      s.insert(1);
      s.insert(2);
      s.insert(3);
      s.insert(1);
      set<long long > :: iterator itor;
      cout << "set 的 size 值为 :" << s.size() << endl;
      cout << "set 的 maxsize的值为 :" << s.max_size() << endl;
      cout << "set 中的第一个元素是 :" << *s.begin() << endl;
      cout << "set 中的最后一个元素是:" << *s.end() << endl;
      itor = s.find(1);
      if(itor != s.end())
        cout << "1 is find" << endl;
      s.clear();
      if (s.empty()) {
        cout << "set 为空 !!!" << endl;
      }
      cout << "set 的 size 值为 :" << s.size() << endl;
      cout << "set 的 maxsize的值为 :" << s.max_size() << endl;
      return 0;
    }
    宝剑锋从磨砺出 梅花香自苦寒来
  • 相关阅读:
    八数码难题 (codevs 1225)题解
    小木棍 (codevs 3498)题解
    sliding windows (poj 2823) 题解
    集合删数 (vijos 1545) 题解
    合并果子 (codevs 1063) 题解
    等价表达式 (codevs 1107)题解
    生理周期 (poj 1006) 题解
    区间 (vijos 1439) 题解
    区间覆盖问题 题解
    种树 (codevs 1653) 题解
  • 原文地址:https://www.cnblogs.com/GHzcx/p/8671788.html
Copyright © 2011-2022 走看看