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

std::remove_if().

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

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

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

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

//предикат
bool pr(int i){return (i<4);}

int main()
{
	int mass[]={1,2,3,4,5,6,7,8,9};
	int* beg=mass;
	int* end=mass+sizeof(mass)/sizeof(int);
	
	//удаляем элементы
	end=remove_if(beg,end,pr);
	
	//вывод результатов
	for(int* p=beg;p!=end;++p)
		cout <<*p<<' ';
	cout <<endl;

	return 0;
}

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

rss