Difference between revisions of "cpp/algorithm/min element"
(→Example: use initializer list) |
(equivalent element requirements, and precise complexity) |
||
Line 23: | Line 23: | ||
===Return value=== | ===Return value=== | ||
− | Iterator to the smallest element in the range {{tt|[first, last)}}. Returns {{tt|last}} if the range is empty. | + | Iterator to the smallest element in the range {{tt|[first, last)}}. If several elements in the range are equivalent to the smallest element, returns the iterator to the first such element. Returns {{tt|last}} if the range is empty. |
===Complexity=== | ===Complexity=== | ||
− | + | Exactly {{tt|std::max(std::distance(first-last) - 1,0)}} comparisons. | |
===Equivalent function=== | ===Equivalent function=== |
Revision as of 10:34, 24 August 2011
Template:cpp/algorithm/sidebar Template:ddcl list begin <tr class="t-dsc-header">
<td><algorithm>
<td></td> <td></td> </tr> <tr class="t-dcl ">
<td >ForwardIterator min_element( ForwardIterator first, ForwardIterator last );
<td > (1) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">
<td >ForwardIterator min_element( ForwardIterator first, ForwardIterator last,
<td > (2) </td> <td class="t-dcl-nopad"> </td> </tr> Template:ddcl list end
Finds the smallest element in the range [first, last)
. The first version uses Template:cpp to compare the values, the second version uses the given comparison function comp
.
Contents |
Parameters
first, last | - | forward iterators defining the range to examine |
cmp | - | comparison function object (i.e. an object that satisfies the requirements of Compare) which returns true if if *a is less than *b .The signature of the comparison function should be equivalent to the following: bool cmp(const Type1& a, const Type2& b); While the signature does not need to have const&, the function must not modify the objects passed to it and must be able to accept all values of type (possibly const) |
Return value
Iterator to the smallest element in the range [first, last)
. If several elements in the range are equivalent to the smallest element, returns the iterator to the first such element. Returns last
if the range is empty.
Complexity
Exactly std::max(std::distance(first-last) - 1,0)
comparisons.