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

std::search_n.

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

Находит n-ое вхождение значения в последовательность.

Функция осуществляет поиск в последовательности количество элементов которое задается как параметр в функции. Переходим сразу к примерчику.

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

bool pr(int a, int b)
{
	return (a==b);
}

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

	//по дефолту
	it=search_n(v.begin(),v.end(),2,3);
	if(it!=v.end())
		cout <<"pos= "<<(it-v.begin())<<endl;//2
	else
		cout <<"Not element"<<endl;

	//использование собственного предиката
	it=search_n(v.begin(),v.end(),2,6,pr);
	if(it!=v.end())
		cout <<"pos= "<<(it-v.begin())<<endl;//6
	else
		cout <<"not element"<<endl;

	return 0;
}

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

rss