Шаблонний метод std::min_element призначений для пошуку елементу з мінімальним значенням у вказаній послідовності. Оголошення даної функції виглядає наступним чином:
template <class ForwardIterator>
ForwardIterator min_element (ForwardIterator begin, ForwardIterator end) ;
Даній версії функції передаються два параметри-ітератори begin і end, які обмежують підмножину послідовності, в якій повинен відбуватися пошук. Пошук ведеться від елементу, на який вказує ітератор begin включно, елемент на який вказує ітератор end не враховується.
Функція повертає ітератор на знайдений найменший елемент, або значення ітератора end в разі невдалого пошуку (пуста множина).
Приклади
Розглянемо найпростіший приклад використання даного алгоритму - пошук найменшого елемента в масиві цілих чисел.
#include <algorithm> /* усі корисні алгоритми включно з min_element */
#include <iostream> /* об'єкт cout */
using namespace std ; /* друкуємо усе без std */
/* головна функція програми */
int main (int argc, char** argv)
{
/* створюємо піддослідний масив цілих чисел і визначаємо його довжину */
int iArray [] = {5,6,1,56,7,234,7,8,45,65,87} ;
int iLen = sizeof (iArray)/sizeof(iArray[0]) ;
/* виконуємо пошук мінімального елементу у масиві */
int* result = min_element (iArray, iArray+iLen) ;
/* перевіряємо результат і виводимо відповідне повідомлення */
if (result>=iArray && result<=(iArray+iLen))
{
cout << "Знайдено елемент: " << *result << endl ;
}
else
{
cout << "Не знайшов елемента!" << endl ;
}
return 0 ;
}
Після компілювання і виконання даної програми у вікні терміналу можна побачити наступний результат: