当前位置:C++技术网 > 资讯 > STL算法之集合并,差,交集等的实现

STL算法之集合并,差,交集等的实现

更新时间:2016-04-11 21:09:37浏览次数:1+次

对于本文的算法问题,主要就是《C++标准程序库》里面的知识点。你可以查看相关的资料,我就不啰嗦了。直接上实例:

代码:

#include "iostream"
#include "windows.h"
#include "algorithm"
#include "vector"
#include "iterator"
#include "list"
#include "set"

using namespace std;

int main()
{
	int c1[]={1,2,2,4,6,7,7,9};
	int c2[]={2,2,2,3,6,6,8,9};
	
	int num1=sizeof(c1)/sizeof(int);
	int num2=sizeof(c2)/sizeof(int);

	cout<<"集合元素总数:"<<endl;
	std::merge(c1,c1+num1,c2,c2+num2,std::ostream_iterator<int>(cout," "));
	cout<<endl;

	cout<<"除去重复的元素:"<<endl;
	std::set_union(c1,c1+num1,c2,c2+num2,std::ostream_iterator<int>(cout," "));
	cout<<endl;

	cout<<"交集:"<<endl;
	std::set_intersection(c1,c1+num1,c2,c2+num2,std::ostream_iterator<int>(cout," "));
	cout<<endl;

	cout<<"差集:"<<endl;
	std::set_difference(c1,c1+num1,c2,c2+num2,std::ostream_iterator<int>(cout," "));
	cout<<endl;

	system("pause");
	return 0;
}