Предыдущий пост -
Следующий пост -

std::set_intersection().

Рубрика: Алгоритмы, Дата: 7 July, 2013, Автор:
Tags: ,

Конструирует сортированное пересечение.

Просто если есть два одинаковых элемента в двух последовательностей, то она попадает в третью, а если нет значения того которое есть в другой последовательности, то оно не попадает.

#include <iostream>
using std::cout;
using std::endl;
#include <vector>
using std::vector;
#include <algorithm>
using std::sort;
using std::set_intersection;

int main()
{
	int mass[]={1,2,3,4,5,6};
	int mass1[]={3,4,5,9,7,8};
	vector<int> v(12);
	vector<int>::iterator it;

	//сортируем последовательности
	sort(mass,mass+6);
	sort(mass1,mass1+6);

	it=set_intersection(mass,mass+6,mass1,mass1+6,v.begin());
	v.resize(it-v.begin());

	//вывод результатов
	for(it=v.begin();it!=v.end();++it)
		cout <<*it<<' ';
	cout <<endl;//3 4 5

	return 0;
}

[youtube]http://www.youtube.com/watch?v=aMmUlc9TPZY[/youtube]

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *