min
如果比不出大小就返回第一个引数
//版本一:调用operator<
template <class LessThanComparable>
const LessThanComparable& min(const LessThanComparable &a,const LessThanComparable& b); //版本二:调用自己定义的function object来比较
template <class T,class BinaryPredicate>
const T& min(const T &a,const T& b,v cmp);
max
如果比不出大小就返回第一个引数
//版本一:调用operator<
template <class LessThanComparable>
const LessThanComparable& max(const LessThanComparable &a,const LessThanComparable& b); //版本二:调用自己定义的function object来比较
template <class T,class BinaryPredicate>
const T& max(const T &a,const T& b,v cmp);
min_element
返回range内再有没有其他iterator 指向的值小于*i的iterator i,如果range为空,返回last
//版本一:调用operator<
template <class ForwardIterator>
ForwardIterator min_element(ForwardIterator first,ForwardIterator last); //版本二:调用自己定义的function object来比较,返回cmp(*j,*i)为false的i
template <class ForwardIterator,class BinaryPredicate>
ForwardIterator min_element(ForwardIterator first,ForwardIterator last,BinaryPredicate cmp);
max_element
返回range内再也没有其他iterator所指的值大于*i的iterator i,若为空,返回last
//版本一:调用operator<
template <class ForwardIterator>
ForwardIterator max_element(ForwardIterator first,ForwardIterator last); //版本二:调用自己定义的function object来比较,返回cmp(*i,*j)为false的i
template <class ForwardIterator,class BinaryPredicate>
ForwardIterator max_element(ForwardIterator first,ForwardIterator last,BinaryPredicate cmp);