zoukankan      html  css  js  c++  java
  • STL容器 set 使用方法

    set

             就是集合,可以以log2速度进行查找和插入。set内部是有序的,本质是一颗红黑树(RB树)。

    使用方法

            迭代器: set<int>::iterator it

                           开始迭代器指针   s.begin()

                          末尾迭代器指针    s.end()  //指最后一个元素的下一个位置

                           反向迭代器指针,指向最后一个元素    s.rbegin()

                           反向迭代器指针,指向第一个元素前一个位置   s.rend()

    #include <iostream>  
    #include <set>  
      
    using namespace std;  
      
    int main()  
    {  
        set<int> s;  
        s.insert(1);  
        s.insert(2);    
        s.insert(3);  
        s.insert(1);  
        cout<<"set 的 size 值为 :"<<s.size()<<endl;  
        cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl;  
        cout<<"set 中的第一个元素是 :"<<*s.begin()<<endl;  
        cout<<"set 中的最后一个元素是:"<<*s.end()<<endl;  
        s.clear();  
        if(s.empty())  
        {  
            cout<<"set 为空 !!!"<<endl;  
        }  
        cout<<"set 的 size 值为 :"<<s.size()<<endl;  
        cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl;  
        return 0;  
    }  

    删除操作

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

     erase(first,second):删除定位器first和second之间的值

     erase(key_value):删除键值key_value的值

    查找操作

    find(key_value):找到则返回定位器,没有找到则返回s.end()。

    #include <iostream>  
    #include <set>  
      
    using namespace std;  
      
    int main()  
    {  
        int a[] = {1,2,3};  
        set<int> s(a,a+3);  
        set<int>::iterator iter;  
        if((iter = s.find(2)) != s.end())  
        {  
            cout<<*iter<<endl;  
        }  
        return 0;  
    }  

    lower_bound(key_value) ,返回第一个大于等于key_value的定位器

    upper_bound(key_value),返回第一个大于key_value的定位器

    越自律,越自由
  • 相关阅读:
    Mac ssh登陆linux并且显示linux图形
    github proxy
    [makefile] filter-out
    linux svn
    界面UI测试的方法
    UI测试
    web 页面中 四种常见 必测控件
    面试工作经验参考
    测试用例
    接口测试基础
  • 原文地址:https://www.cnblogs.com/ha-chuochuo/p/13435573.html
Copyright © 2011-2022 走看看