std :: min_element в C ++
Для вычисления наименьшего из всех элементов в данном списке у нас есть std :: min, но что, если мы хотим найти наименьший не во всем списке, а в его подразделе . Для этой цели у нас есть std :: min_element в C ++.
std :: min_element определяется внутри файла заголовка <algorithm> и возвращает итератор, указывающий на элемент с наименьшим значением в диапазоне [первый, последний).
В отличие от std :: min, который можно использовать тремя способами, std :: min_element можно использовать двумя способами . Сравнение может выполняться либо с помощью оператора <(первая версия), либо с использованием предопределенной функции (вторая версия). Если более чем один элемент удовлетворяет условию наименьшего размера, итератор возвращает точки на первый из таких элементов.
Эти две версии определены, как указано ниже:
- Для сравнения элементов с помощью «<»:
Синтаксис:шаблон ForwardIterator min_element (ForwardIterator сначала, ForwardIterator последний); first: итератор вперед, указывающий на начало диапазона. last: итератор вперед, указывающий на конец диапазона. Возвращаемое значение: возвращает указатель на наименьшее элемент в диапазоне, а если таких элементов несколько, затем он указывает на первую. Он указывает на последнее, если диапазон пуст.
// C++ program to demonstrate the use of std::min_element
#include <iostream>
#include <algorithm>
using
namespace
std;
int
main()
{
int
v[] = { 9, 4, 7, 2, 5, 10, 11, 12, 1, 3, 6 };
// Finding the minimum value between the third and the
// fifth element
int
* i1;
i1 = std::min_element(v + 2, v + 5);
cout << *i1 <<
" "
;
return
0;
}
Выход:
2
- Для сравнения на основе предопределенной функции:
Синтаксис:
шаблон ForwardIterator min_element (ForwardIterator сначала, ForwardIterator последний, Сравните комп); Здесь первый и последний такие же, как и в предыдущем случае. comp: двоичная функция, которая принимает два элемента в диапазоне в качестве аргументов и возвращает значение, которое можно преобразовать в bool. Возвращенное значение указывает, был ли элемент передан первым. аргумент считается меньше второго. Функция не должна изменять ни один из своих аргументов. Это может быть указатель на функцию или объект функции. Возвращаемое значение: возвращает указатель на наименьший элемент. в диапазоне, а если таких элементов несколько, затем он указывает на первую. Он указывает на последнее, если диапазон пуст.
// C++ program to demonstrate the use of std::min_element
#include <iostream>
#include <algorithm>
using
namespace
std;
// Defining the BinaryFunction
bool
comp(
int
a,
int
b)
{
return
(a < b);
}
int
main()
{
int
v[] = { 9, 4, 7, 2, 5, 10, 11, 12, 1, 3, 6 };
// Finding the minimum value between the third and the
// ninth element
int
* i1;
i1 = std::min_element(v + 2, v + 9, comp);
cout << *i1 <<
" "
;
return
0;
}
Выход:
1
Статьи по Теме:
- std :: max_element
- std :: max
- std :: min
- std :: equal
Эта статья предоставлена Мригендрой Сингхом . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.