zoukankan      html  css  js  c++  java
  • STL set的用法

    要使用set需要事先引入一个头文件

    #include<set>
    set是一个不允许重复的集合,如果要重复可以使用multiset


    1.set的插入【set.insert();】,会返回Pair<iterator,bool>对象,前一个是插入的位置,后一个是是否插入成功。

    #include<cstdio>
    #include<set>
    using namespace std;
    set<int> Demo;
    int main(){
    	pair<set<int>::iterator,bool> DemoPair=Demo.insert(1);
    	printf("Insert %d
    ",*DemoPair.first);
    	printf(DemoPair.second==true?"Succeed
    ":"Failed
    ");
    DemoPair=Demo.insert(1);
    	printf("Insert %d
    ",*DemoPair.first);
    	printf(DemoPair.second==true?"Succeed
    ":"Failed
    ");
    	return 0;
    }
    运行结果:

    两次插入1,第一次成功,第二次失败,是因为集合的唯一性。


    2.set的查找【set.find();】,返回的是iterator为查找对象位置,如果是set.end(),则表示未找到。

    #include<cstdio>
    #include<set>
    using namespace std;
    set<int> Demo;
    int main(){
    	Demo.insert(1);
    	set<int>::iterator it=Demo.find(1);
    	if (it==Demo.end()){
    		printf("No Find
    ");
    	}else{
    		printf("Find
    ");
    	}
    	return 0;
    }
    运行结果:



    3.set的遍历

    #include<cstdio>
    #include<set>
    using namespace std;
    set<int> Demo;
    int main(){
    	Demo.insert(5);
    	Demo.insert(3);
    	Demo.insert(4);
    	Demo.insert(1);
    	Demo.insert(2);
    	for (set<int>::iterator it=Demo.begin();it!=Demo.end();it++){
    		printf("%d ",*it);
    	} 
    	return 0;
    }
    运行结果:









  • 相关阅读:
    centos 卸载自带的apache
    静态方法绑定
    安装apc
    避免SSH连接因超时闲置断开
    svn使用安全问题
    接口类,和抽象类。
    function (规定参数必须为某个对象的实例)
    jquery 获取DIV边框的宽
    正则表达式(非捕获)
    Linux ftp服务器Proftp配置
  • 原文地址:https://www.cnblogs.com/WNJXYK/p/4063959.html
Copyright © 2011-2022 走看看