📜  C++中的std :: min

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

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

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

这三个版本定义如下:

  1. 用于使用<来比较元素:

    句法:

    template  constexpr const T& min (const T& a, const T& b);
    
    a and b are the numbers to be compared.
    Returns: Smaller of the two values.
    
    // C++ program to demonstrate the use of std::min
    #include 
    #include 
    using namespace std;
    int main()
    {
        int a = 5;
        int b = 7;
        cout << std::min(a, b) << "\n";
      
        // Returns the first one if both the numbers
        // are same
        cout << std::min(7, 7);
      
        return 0;
    }
    

    输出:

    5
    7
    
  2. 为了使用预定义的函数比较元素:

    句法:

    template
    constexpr const T& min (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 first 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: Smaller of the two values.
    
    // C++ program to demonstrate the use of std::min
    #include 
    #include 
    using namespace std;
      
    // Defining the binary function
    bool comp(int a, int b)
    {
        return (a < b);
    }
    int main()
    {
        int a = 5;
        int b = 7;
        cout << std::min(a, b, comp) << "\n";
      
        // Returns the first one if both the numbers
        // are same
        cout << std::min(7, 7, comp);
      
        return 0;
    }
    

    输出:

    5
    7
    
  3. 在列表中查找最小元素:
    句法:
    template 
    constexpr T min (initializer_list il, Compare comp);
    
    comp is optional and can be skipped.
    il: An initializer_list object.
    Returns: Smallest of all the values.
    
    // C++ program to demonstrate the use of std::min
    #include 
    #include 
    #include 
    using namespace std;
      
    // Defining the binary function
    bool comp(int a, int b)
    {
        return (a < b);
    }
    int main()
    {
      
        // Finding the smallest of all the numbers
        cout << std::min({ 1, 2, 3, 4, 5, 0, -1, 7 }, comp) << "\n";
      
        return 0;
    }
    

    输出:

    -1
    

相关文章:

  • std :: max_element
  • std :: max
  • std ::等于
  • C++中的std :: min_element
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”