📄 min_9998.htm
字号:
<HTML><TITLE>min_element</TITLE><BODY>
<A HREF="ref.htm"><IMG SRC="images/banner.gif"></A>
<P><STRONG>Click on the banner to return to the Class Reference home page.</STRONG></P>
<P>©Copyright 1996 Rogue Wave Software</P>
<H2>min_element</H2>
<HR><PRE> Algorithm</PRE><HR>
<A NAME="Summary"><H3>Summary</H3></A>
<P>Finds the minimum value in a range.</P>
<H3>Contents</H3>
<UL>
<A HREF="#Synopsis"><LI>Synopsis</LI></A>
<A HREF="#Description"><LI>Description</LI></A>
<A HREF="#Complexity"><LI>Complexity</LI></A>
<A HREF="#Example"><LI>Example</LI></A>
<A HREF="#Warning"><LI>Warning</LI></A>
<A HREF="#See Also"><LI>See Also</LI></A>
</UL>
<A NAME="Synopsis"><H3>Synopsis</H3></A>
<PRE>#include <algorithm></PRE>
<PRE>
template <class ForwardIterator>
ForwardIterator
<B>min_element</B>(ForwardIterator first, ForwardIterator last);
template <class ForwardIterator, class Compare>
InputIterator
<B>min_element</B>(ForwardIterator first, ForwardIterator last,
Compare comp);
</PRE>
<A NAME="Description"><H3>Description</H3></A>
<P>The <B><I>min_element</B></I> algorithm returns an iterator that denotes the minimum element in a sequence. If the sequence contains more than one copy of the minimum element, the iterator points to the first occurrence of the element. In the second version of the function, the optional argument <SAMP>comp</SAMP> defines a comparison function that can be used in place of the default <SAMP>operator<</SAMP>. This function can be used with all the datatypes provided by the standard library.</P>
<P>Algorithm <B><I>min_element</B></I> returns the first iterator <SAMP>i</SAMP> in the range <SAMP>[first, last)</SAMP> such that for any iterator <SAMP>j</SAMP> in the range same range, the following corresponding conditions hold:</P>
<PRE> !(*j < *i)</PRE>
<PRE></PRE><P>or</P>
<PRE>comp(*j, *i) == false. </PRE>
<PRE></PRE>
<A NAME="Complexity"><H3>Complexity</H3></A>
<P><B><I>min_element</B></I> performs exactly <SAMP>max((last - first) - 1, 0)</SAMP> applications of the corresponding comparisons.</P>
<A NAME="Example"><H3>Example</H3></A>
<PRE>//
// max_elem.cpp
//
#include <algorithm>
#include <vector>
#include <iostream.h>
int main(void)
{
typedef vector<int>::iterator iterator;
int d1[5] = {1,3,5,32,64};
// set up vector
vector<int> v1(d1,d1 + 5);
// find the largest element in the vector
iterator it1 = max_element(v1.begin(), v1.end());
// it1 = v1.begin() + 4
// find the largest element in the range from
// the beginning of the vector to the 2nd to last
iterator it2 = max_element(v1.begin(), v1.end()-1,
less<int>());
// it2 = v1.begin() + 3
<B> </B>// find the smallest element
iterator it3 = <B>min_element</B>(v1.begin(), v1.end());
// it3 = v1.begin()
// find the smallest value in the range from
// the beginning of the vector plus 1 to the end
iterator it4 = <B>min_element</B>(v1.begin()+1, v1.end(),
less<int>());
// it4 = v1.begin() + 1
cout << *it1 << " " << *it2 << " "
<< *it3 << " " << *it4 << endl;
return 0;
}
Output :
64 32 1 3
</PRE>
<A NAME="Warning"><H3>Warning</H3></A>
<P>If your compiler does not support default template parameters then you need to always supply the <SAMP>Allocator</SAMP> template argument. For instance you'll have to write:</P>
<PRE>vector<int,allocator></PRE>
<PRE></PRE><P>instead of:</P>
<PRE>vector<int></PRE>
<A NAME="See Also"><H3>See Also</H3></A>
<P><A HREF="max_6671.htm"><B><I>max</B></I></A>, <A HREF="max_8656.htm"><B><I>max_element</B></I></A>, <A HREF="min_9233.htm"><B><I>min</B></I></A></P>
<HR>
<A HREF="min_9233.htm"><IMG SRC="images/prev.gif"></A> <A HREF="ref.htm#contents"><IMG SRC="images/toc.gif"></A> <A HREF="min_5058.htm"><IMG SRC="images/next.gif"></A></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -