min_element
min_element
template<class FwdIt>
FwdIt min_element(FwdIt first, FwdIt last);
template<class FwdIt, class Pred>
FwdIt min_element(FwdIt first, FwdIt last, Pred pr);
The first template function determines the lowest value of N
in the range [0, last - first)
such that, for each M
in the range [0, last - first)
, the predicate *(first + M) < *(first + N)
is false. It then returns first + N
. Thus, the function determines the lowest position that contains the smallest value in the sequence.
The function evaluates the ordering predicate X < Y
exactly max((last - first) - 1, 0)
times.
The second template function behaves the same, except that it replaces operator<(X, Y)
with pr(X, Y)
.
Sample programs: min_element and min_element (predicate version).