
ALINK="#ff0000">
min_element
PrototypeMin_element is an overloaded name; there are actually two min_element functions.template <class ForwardIterator> ForwardIterator min_element(ForwardIterator first, ForwardIterator last); template <class ForwardIterator, class BinaryPredicate> ForwardIterator min_element(ForwardIterator first, ForwardIterator last, BinaryPredicate comp); DescriptionMin_element finds the smallest element in the range [first, last). It returns the first iterator i in [first, last) such that no other iterator in [first, last) points to a value smaller than *i. The return value is last if and only if [first, last) is an empty range.The two versions of min_element differ in how they define whether one element is less than another. The first version compares objects using operator<, and the second compares objects using a function object comp. The first version of min_element returns the first iterator i in [first, last) such that, for every iterator j in [first, last), *j < *i is false. The second version returns the first iterator i in [first, last) such that, for every iterator j in [first, last), comp(*j, *i) is false. DefinitionDefined in the standard header algorithm, and in the nonstandard backwardcompatibility header algo.h.Requirements on typesFor the first version:
Preconditions
ComplexityLinear. Zero comparisons if [first, last) is an empty range, otherwise exactly (last  first)  1 comparisons.Exampleint main() { list<int> L; generate_n(front_inserter(L), 1000, rand); list<int>::const_iterator it = min_element(L.begin(), L.end()); cout << "The smallest element is " << *it << endl; } NotesSee alsomin, max, max_element, LessThan Comparable, sort, nth_elementCopyright © 1999 Silicon Graphics, Inc. All Rights Reserved. TrademarkInformation
