首页 > STL编程 > STL set示例代码

STL set示例代码

通过下面的代码,可以加强对set的一些理解。

#include <iostream>
#include <set>
#include <iterator>
using namespace std;

int main()
{
	typedef set<int, greater<int> > IntSet;
	
	IntSet coll1;
	coll1.insert(4);
	coll1.insert(3);
	coll1.insert(5);
	coll1.insert(1);
	coll1.insert(6);
	coll1.insert(2);
	coll1.insert(5);	//插入重复元素,将被忽略 
	
	IntSet::iterator pos;
	for(pos = coll1.begin(); pos != coll1.end(); ++pos)
	{
		cout << *pos << ' ';
	}	
	cout << endl;
	
	pair<IntSet::iterator, bool> status = coll1.insert(4);
	if(status.second)
	{
		cout << "4 inserted as element "
			 << distance(coll1.begin(), status.first) + 1
			 << endl;
	}
	else
	{
		cout << "4 already exists" << endl;
	}
	
	set<int> coll2(coll1.begin(), coll1.end());
	copy(coll2.begin(), coll2.end(), ostream_iterator<int>(cout, " "));
	cout << endl;
	
	//移除coll2.begin()到coll2.find(3)的元素,不包括右端点 
	coll2.erase(coll2.begin(), coll2.find(3));
	
	int num = coll2.erase(5);
	cout << num << " element(s) removed" << endl;
	
	copy(coll2.begin(), coll2.end(), ostream_iterator<int>(cout, " "));
	cout << endl; 
	
	return 0;
}

 


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> STL set示例代码
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



分类: STL编程 标签: , , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.