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;
    }
    宝剑锋从磨砺出 梅花香自苦寒来
  • 相关阅读:
    select_tag in rails about selected not change and onchange()
    debian7 请把标有“Debian GNU/Linux 7.1.0 _Wheezy_
    rails关于utf8问题-------------------utf8申明必须置顶
    ruby 删除文件
    svn conflict
    40亿个有序不同的数的文件中找一个缺失的数
    马云语录
    语音识别概率问题,一段在数学之美了看到的话
    两个有序数组的中位数
    磁盘文件排序-编程珠玑
  • 原文地址:https://www.cnblogs.com/GHzcx/p/8671788.html
Copyright © 2011-2022 走看看