max
Compares two objects and returns the larger of the two, where the ordering criterion may be specified by a binary predicate.
template<class Type> const Type& max( const Type& _Left, const Type& _Right ); template<class Type, class Pr> const Type& max( const Type& _Left, const Type& _Right, BinaryPredicate _Comp );
min
Compares two objects and returns the lesser of the two, where the ordering criterion may be specified by a binary predicate.
template<class Type> const Type& min( const Type& _Left, const Type& _Right ); template<class Type, class Pr> const Type& min( const Type& _Left, const Type& _Right, BinaryPredicate _Comp );
max和min還可以比較集合的大小。比如:set,multiset,vector,list,queue,stack,map,multimap.因為集合重載了比較操作符。此外,string,非STL標准的hash_set,hash_map都可以。
minmax
Compares two input parameters and returns them as a pair, in order of least to greatest.
template<class Type> pair<const Type&, const Type&> minmax( const Type& _Left, const Type& _Right ); template<class Type, class BinaryPredicate> pair<const Type&, const Type&> minmax( const Type& _Left, const Type& _Right, BinaryPredicate _Comp )
max_element
Finds the first occurrence of largest element in a specified range where the ordering criterion may be specified by a binary predicate.
template<class ForwardIterator> ForwardIterator max_element( ForwardIterator _First, ForwardIterator _Last ); template<class ForwardIterator, class BinaryPredicate> ForwardIterator max_element( ForwardIterator _First, ForwardIterator _Last, BinaryPredicate _Comp );
min_element
Finds the first occurrence of smallest element in a specified range where the ordering criterion may be specified by a binary predicate.
template<class ForwardIterator> ForwardIterator min_element( ForwardIterator first, ForwardIterator last ); template<class ForwardIterator, class BinaryPredicate> ForwardIterator min_element( ForwardIterator first, ForwardIterator last, BinaryPredicate comp );
minmax_element
Performs the work performed by min_element and max_element in one call.
template<class ForwardIterator> pair< ForwardIterator, ForwardIterator > minmax_element( ForwardIterator _First, ForwardIterator _Last ); template<class ForwardIterator, class BinaryPredicate> pair< ForwardIterator, ForwardIterator > minmax_element( ForwardIterator _First, ForwardIterator _Last, BinaryPredicate _Comp