當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ std::min用法及代碼示例


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.
    返回: Smaller of the two values.
    
    // C++ program to demonstrate the use of std::min 
    #include <iostream> 
    #include <algorithm> 
    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.
    返回: Smaller of the two values.
    
    // C++ program to demonstrate the use of std::min 
    #include <iostream> 
    #include <algorithm> 
    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.
    返回: Smallest of all the values.
    
    // C++ program to demonstrate the use of std::min 
    #include <iostream> 
    #include <algorithm> 
    #include <vector> 
    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::min in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。