📜  C++中的std :: max

📅  最后修改于: 2021-05-30 03:50:49             🧑  作者: Mango

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

  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.
    Returns: 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
    #include
    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.
    
    Returns: Larger of the two values.
    
    // C++ program to demonstrate the use of std::max
    #include
    #include
    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.
    Returns: Largest of all the values.
    
    // C++ program to demonstrate the use of std::max
    #include
    #include
    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_element
  • std :: min
  • std ::等于
  • C++中的std :: min_element
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”