zoukankan      html  css  js  c++  java
  • C++ STL, set用法。 待更新zzzzz

    set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。
    平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。
    构造set集合主要目的是为了快速检索,不可直接去修改键值。

    说白了就是一个容器,用来存放数据,以二叉搜索树的形式存放。没有重复元素。

    使用set需要声明#include“set”

    主要功能如下:

    insert()    ,插入一个元素

    clear()          ,删除set容器中的所有的元素

    empty()    ,判断set容器是否为空

    size()      ,返回当前set容器中的元素个数

    count()    ,用来查找set中某个键值出现次数。

    find()            ,返回给定值值得定位器,如果没找到则返回end()

    erase(i)     ,删除定位器iterator指向的值

    
    
     1 #include"iostream"
     2 #include"set"
     3 using namespace std;
     4 int main(){
     5     set<int> s;                    //创建一个int类型的set 
     6     set<int>::iterator it;      //创建一个它对应的迭代器 
     7 
     8 
     9     for(int i=0;i<10;i++){        // 插入0-9; 
    10         s.insert(i);
    11     }
    12 
    13 
    14 
    15     if(s.empty())                //empty判断set是否为空,如果为空返回true 
    16         cout<<"s为空"<<endl;
    17     else
    18         cout<<"s不为空"<<endl;
    19         
    20 
    21 
    22     cout<<"set容器元素个数为"<<s.size()    <<endl;
    23 
    24 
    25 
    26     cout<<"1出现的次数"<<s.count(1)<<endl;
    27     cout<<"10出现的次数"<<s.count(10)<<endl;
    28 
    29 
    30     s.erase(5);                                    //删除某个元素 
    31     cout<<"5出现的次数"<<s.count(5)<<endl;
    32     
    33     
    34     it=s.find(4);                                        //查找数据,find,如果没有找到,迭代器end,如果找到,为找到的数据                
    35     if(it!=s.end())
    36         cout<<*it<<endl;
    37         
    38         
    39         
    40         
    41         for (it = s.begin(); it!= s.end(); ++it){  //遍历数据,用迭代器遍历数据
    42     
    43         cout << *it << endl;
    44     }
    45     return 0;
    46 }
    
    
    
    
    
  • 相关阅读:
    emberjs 循环中设置model的不同属性值
    FUTURE .get 异常抛出会如何提示
    cpu ,鲲鹏,x86,主频,门电路,目录
    复制两个类的相同属性
    【深入Java虚拟机(1)】:Java内存区域与内存溢出
    RPC web service
    webservice
    django中配置Pymsql
    定义函数和调用函数的方式,函数形参和实参的介绍
    python名称空间与作用域
  • 原文地址:https://www.cnblogs.com/hutonm/p/5332644.html
Copyright © 2011-2022 走看看