当前位置 博文首页 > zhq215的博客:STL-set的实用操作(详解举例)。

    zhq215的博客:STL-set的实用操作(详解举例)。

    作者:[db:作者] 时间:2021-09-17 12:24

    set为关联式容器元素位置取决于特定的排序准则,和插入顺序无关(是按照递增的顺序排列,并且并不会出现重复的元素)。接下来就用实列来解释。
    比较常用的有:
    1.insert
    2.erase
    3.clear
    4.count
    5.size

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	
    	/*set输入后不管输入顺序如何,皆是增序排列,并且无重复元素。*/
    	set<int> s;
    	set<int>::iterator it;
    	s.insert(5);//插入一个元素,但是顺序与插入时间无关。 
    	s.insert(2);
    	s.insert(4);
    	s.insert(2);
    	s.insert(7);
    	s.insert(5);
    	s.insert(4);
    	s.insert(10);
    	for(it=s.begin();it!=s.end();it++)
    	cout<<*it<<" ";
    	cout<<endl;
    	
    	
    	/*打印结果:
    	 2 4 5 7 10
    	*/ 
    	
    	
    	
    	
    
    
    
    
    	
    	/*用erase删除一个元素*/
    	cout<<"删除前:"; 
    	for(it=s.begin();it!=s.end();it++)
    	cout<<*it<<" ";
    	cout<<endl; 
    	
    	
    	s.erase(5);//删除5. 也可用迭代器删除第一个。 
    	cout<<"删除后:";
    	for(it=s.begin();it!=s.end();it++)
    	cout<<*it<<" ";
    	cout<<endl;
    			
    	/*打印结果:
    	删除前:2 4 5 7 10
    	删除后:2 4 7 10
    	*/ 
    	
    	
    	
    	
    	
    	
    	
    	
    	/*用clear清除所有元素*/
    	s.clear(); 
    	for(it=s.begin();it!=s.end();it++)
    	
    	
    	cout<<*it<<" ";
    	/*打印结果:
    	
    	*/ 
    	
    	
    	
    	
    	
    	
    	
    
    
    	/*用count判断元素是否在set容器中*/
    	/*存在为1,不存在为0*/	
    	s.insert(1);//插入一个元素,但是顺序与插入时间无关。 
    	s.insert(2);
    	s.insert(3);
    	s.insert(4);
    	s.insert(5);
    	
    	int n=s.count(3);
    	cout<<"3的检测结果是:"<<n<<endl;
    	
    	n=s.count(10); 
    	cout<<"10的检测结果是:"<<n<<endl;
    	
    	
    	s.clear();
    	/*打印结果是 
    	3的检测结果是:1
    	0的检测结果是:0	
    	*/ 
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	/*用size得到元素的个数*/ 
    	
    	
    	s.insert(1);
    	s.insert(2);
    	s.insert(3);
    	s.insert(4);
    	
    	n=s.size();
    	cout<<n;
    	/*打印结果为
    	4 
    	*/
    } 
    
    
    cs
    下一篇:没有了