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

std::min_element() и max_element().

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

min_element – наименьшее значение в последовательности.

max_element – наибольший элемент в последовательности.

функции принимают предикат и могут принимать и не только предикат, но и функции объект также принимает.

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

//собственный предикат
bool pr(int a, int b){return (a<b);}

//функциональный объект
struct ob
{
	bool operator()(int a, int b){return (a<b);}
}obj;

int main()
{
	int mass[]={1,2,3,4,5,6};

	cout <<"max= "<<*max_element(mass,mass+6)<<endl;//6
	cout <<"min= "<<*min_element(mass,mass+6)<<endl;//1

	//используем свою функцию для сравнения
	cout <<"max= "<<*max_element(mass,mass+6,pr)<<endl;//6
	cout <<"min= "<<*min_element(mass,mass+6,pr)<<endl;//1

	//используем объект
	cout <<"max= "<<*max_element(mass,mass+6,obj)<<endl;//6
	cout <<"min= "<<*min_element(mass,mass+6,obj)<<endl;//1

	return 0;
}

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

rss