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

std::remove_copy_if().

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

Копирует последовательность, удаляя элементы, удовлетворяющие предикату.

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

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

bool pr(int i){return (i<5);}

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

	remove_copy_if(mass,mass+8,v.begin(),pr);

	//вывод результатов
	vector<int>::iterator it;
	for(it=v.begin();it!=v.end();++it)
		cout <<*it<<' ';
	cout <<endl;//5 6 7 8 0 0 0 0

	return 0;
}

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

rss