set用法

set是一种集合容器.-所以采用迭代器进行访问

作用:保证每个元素都是独一无二的;

应用:插入、遍历、删除、搜索;

eg:

#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<set>
using namespace std;
set<int>a;
int main()
{
    int n,x;
    while(cin>>n&&n)
    {        //clear()清零
                  a.clear();   
                  //insert()插入
        for(int i=0;i<n;i++)
        {
            cin>>x;
            a.insert(x);
        }
    
        int len=a.size();
        //iterator()顺序遍历
        cout<<"len:"<<len<<endl;
        cout<<"顺序遍历"<<endl;
        set<int>::iterator s;
        for(s=a.begin();s!=a.end();s++)
        cout<<*s<<" ";
        cout<<endl;
        
        //reverse_iterator()反向遍历
        cout<<"反向遍历"<<endl;
        set<int>::reverse_iterator t;
        for(t=a.rbegin();t!=a.rend();t++)
        cout<<*t<<" ";
        cout<<endl;
        
        //erase()删除
        cout<<"please input the number that you want to delete:"<<endl;
        int tx;
        cin>>tx;
        a.erase(tx);
        set<int>::iterator s1;
        for(s1=a.begin();s1!=a.end();s1++)
            cout<<*s1<<" ";
        cout<<endl;
        
        //find()检索
        cout<<"please input the number you want to find:"<<endl;
        cin>>tx;
        set<int>::iterator s2;
        s2=a.find(tx);
        if(s2!=a.end())
            cout<<*s2<<endl;
        else
            cout<<"not find it!"<<endl;
        system("cls");
    }
    
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值