• 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;
    }
    宝剑锋从磨砺出 梅花香自苦寒来
  • 相关阅读:
    Norton我错怪了你啊~~
    RUNRMTCMD命令使用
    如何查看QTEMP的内容?可以查看别人的QTEMP的
    关于文件的ShareODP和USROPN
    虚拟主机权限之log4net
    如何向远程系统提交命令?
    在5250上面实现复制粘贴
    php与数据库对应实体类的命名
    Action Script 中的 super
    Linux下源码编译方式安装MySQL5.5.12(转)
  • 原文地址:https://www.cnblogs.com/GHzcx/p/8671788.html
Copyright © 2020-2023  润新知