zoukankan      html  css  js  c++  java
  • STL——set

    set,就是数学上的集合——每个元素最多只出现一次,并且set中的元素已经从小到大排好序。

    具体看代码,不过要注意 s.end() 这个位置不存元素!!!!

    begin()    ,返回set容器的第一个元素

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

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

    max_size()   ,返回set容器可能包含的元素最大个数

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

    erase()              ,删除指定位置的元素 

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        set<int> s1;
        set<int>::iterator iter;//输出元素
        set<int>::iterator first;
        set<int>::iterator second;
        
        //插入元素
        s1.insert(4);
        s1.insert(1);
        s1.insert(2);
        s1.insert(5);
        second = s1.end();
        second--;
        cout<<"set size():"<<s1.size()<<endl;
        cout<<"set 中第一个元素为:"<<*s1.begin()<<endl;
        cout<<"set 中最后一个元素为:"<<*second<<endl;
        cout<<"set 中 2 出现的次数"<<s1.count(2)<<endl;//要么是1 要么是零
        cout<<"set 中 4 出现的次数"<<s1.count(4)<<endl;
        if(s1.empty()){
            cout<<"set 为空"<<endl;
        }
    
        //输出set中元素
        for(iter = s1.begin() ;iter != s1.end(); iter++)
        {
            cout<<*iter<<" ";
        }
        cout<<endl;
    
        //查找元素
        if((iter = s1.find(2)) != s1.end())
        {
            cout<<"查找成功"<<endl;
        }
    
        //删除set中元素
        first = s1.begin();
        second = s1.end();
        second--;
        s1.erase(s1.begin());//第一种 删除定位器位置元素
        s1.erase(2);//第二种 直接删除元素
        s1.erase(first ,second );//第三种 删除定位器区域的元素
        s1.clear();//第四种 删除所有元素
        return 0;
    }
  • 相关阅读:
    新克隆环境无法创建供应商,报供应商名称已存在
    批处理学习:for语句详解【经典】(转)
    信号与槽引用传递
    串口封装
    tcp客户端封装
    qt无法定位程序输入点 于动态链接库 qt5core.dll
    对象new和不new的理解
    Qt重绘机制
    红绿灯
    获取所有子控件
  • 原文地址:https://www.cnblogs.com/tonyyy/p/10353530.html
Copyright © 2011-2022 走看看