Definition

Defined in the standard header algorithm, and in the nonstandard backward-compatibility header algo.h.

Requirements on types

For the first version:

• T is a model of LessThan Comparable.

For the second version:

• BinaryPredicate is a model of Binary Predicate.

• T is convertible to BinaryPredicate's first argument type and to its second argument type.

Example

const int x = max(3, 9);

assert(x == 9);

See also

min, min_element, max_element, LessThan Comparable

min_element

Category: algorithms

Component type: function

Prototype

Min_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);

Description

Min_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.

Definition

Defined in the standard header algorithm, and in the nonstandard backward-compatibility header algo.h.

Requirements on types

For the first version:

• ForwardIterator is a model of Forward Iterator.

• ForwardIterator's value type is LessThan Comparable.

For the second version:

• ForwardIterator is a model of Forward Iterator.

• BinaryPredicate is a model of Binary Predicate.

• ForwardIterator's value type is convertible to BinaryPredicate's first argument type and second argument type.

Preconditions

• [first, last) is a valid range.

Complexity

Linear. Zero comparisons if [first, last) is an empty range, otherwise exactly (last – first) – 1 comparisons.

Example

int 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;

}

See also

min, max  max_element, LessThan Comparable, sort, nth_element

max_element

Category: algorithms

Component type: function

Prototype

Max_element is an overloaded name; there are actually two max_element functions.

template <class ForwardIterator>

ForwardIterator max_element(ForwardIterator first, ForwardIterator last);

template <class ForwardIterator, class BinaryPredicate>

ForwardIterator max_element(ForwardIterator first, ForwardIterator last, BinaryPredicate comp);

Description

Max_element finds the largest 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 greater than *i. The return value is last if and only if [first, last) is an empty range.

The two versions of max_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 max_element returns the first iterator i in [first, last) such that, for every iterator

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату