STL: max和min


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM