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;
    }
  • 相关阅读:
    linux ssh 免密码登录
    Emacs Org Mode学习
    Emacs Org Mode学习
    java--for循环,一个分号的区别
    java--for循环,一个分号的区别
    【JVM.6】虚拟机类加载机制
    【JVM.5】类文件结构
    【JVM.4】调优案例分析与实战
    【JVM.3】虚拟机性能监控与故障处理工具
    【JVM.2】垃圾收集器与内存分配策略
  • 原文地址:https://www.cnblogs.com/tonyyy/p/10353530.html
Copyright © 2011-2022 走看看