当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ std::max用法及代码示例


std::max在头文件<algorithm>中定义,用于查找传递给它的最大数字。如果有多个,则返回第一个。可以按以下方式使用它:

  1. 它比较在其参数中传递的两个数字,并返回两个中较大的一个,如果两个相等,则返回第一个。
  2. 它还可以使用二进制函数比较两个数字,该二进制函数由用户预定义,然后作为参数传递给std::max(。
  3. 如果我们想在给定列表中找到最大的元素,它也很有用;如果列表中存在多个元素,它会返回第一个元素。

这三个版本定义如下:

  1. 使用“

    用法:


    template  constexpr const T& max (const T& a, const T& b);
    
    Here, a and b are the numbers to be compared.
    返回: Larger of the two values.
    

    CPP

    // C++ program to demonstrate the use of std::max 
    // C++ program to demonstrate the use of std::max 
    #include<iostream> 
    #include<algorithm> 
    using namespace std; 
    int main() 
    { 
        // Comparing ASCII values of a and b 
        cout << std::max('a','b') << "\n"; 
      
        // Returns the first one if both the numbers 
        // are same 
        cout << std::max(7,7); 
      
    return 0; 
    } 

    Python3

    # Python 3 program to 
    # demonstrate the use of std::max 
      
    # Comparing ASCII 
    # values of a and b 
    print(max('a','b')) 
      
    # Returns the first 
    # one if both the numbers 
    # are same 
    print(max(7, 7)) 
      
    # This code is contributed by  
    # Smitha Dinesh Semwal


    输出:
    b
    7
    
  2. 使用预定义函数比较元素:

    用法:

    template
    constexpr const T& max (const T& a, const T& b, Compare comp);
    
    Here, a and b are the numbers to be compared.
    
    comp: Binary function that accepts two values of type T as arguments, 
    and returns a value convertible to bool.
    The value returned indicates whether the element passed as f
    irst argument is considered less than the second.
    
    The function shall not modify any of its arguments.
    This can either be a function pointer or a function object.
    
    返回: Larger of the two values.
    
    // C++ program to demonstrate the use of std::max 
    #include<iostream> 
    #include<algorithm> 
    using namespace std; 
      
    // Defining the binary function 
    bool comp(int a, int b) 
    { 
        return (a < b); 
    } 
    int main() 
    { 
        int a = 7; 
        int b = 28; 
          
        cout << std::max(a,b,comp) << "\n"; 
      
        // Returns the first one if both the numbers 
        // are same 
        cout << std::max(7,7,comp); 
      
    return 0; 
    } 

    输出:

    28
    7
    
  3. 在列表中查找最大元素:

    用法:

    template 
    constexpr T max (initializer_list il, Compare comp);
    
    Here, comp is optional and can be skipped.
    il: An initializer_list object.
    返回: Largest of all the values.
    
    // C++ program to demonstrate the use of std::max 
    #include<iostream> 
    #include<algorithm> 
    using namespace std; 
      
    // Defining the binary function 
    bool comp(int a, int b) 
    { 
        return (a < b); 
    } 
    int main() 
    { 
      
        // Finding the largest of all the numbers 
        cout << std::max({1, 2, 3, 4, 5, 10, -1, 7},comp) << "\n"; 
      
    return 0; 
    } 

    输出:

    10
    

相关文章:



相关用法


注:本文由纯净天空筛选整理自 std::max in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。