std::max v C++

C++ std::max Funkce je vestavěná funkce definovaná v hlavičkovém souboru a používá se ke zjištění největšího čísla, které jí bylo předáno. Pokud je jich více, vrátí první z nich.

Může být implementován následujícími způsoby:

  1. Porovná dvě čísla předaná ve svých argumentech a vrátí větší z těchto dvou a pokud jsou oba stejné, vrátí první.
  2. Může také porovnat dvě čísla pomocí a binární funkce , který je definován uživatelem a poté předán jako argument v std::max().
  3. Je také užitečné, pokud chceme najít největší prvek v daném seznamu a vrátí první, pokud je v seznamu více než jeden.

1. Pro porovnání prvků jako pomocí <:

Syntax:

const T& max (const T& a , const T& b ); 

Parametry:

    a: hodnota k porovnání b: hodnota k porovnání

Návratová hodnota:

  • Vrátí větší z těchto dvou hodnot.
  • Pokud jsou obě stejné, vrátí první hodnotu.

Poznámka : T je název typu definovaný v šabloně třídy.

Příklad:

C++




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

Výstup

b 7 

Časová náročnost: O(1)
Pomocný prostor: O(1)

2. Pro porovnání prvků pomocí předem definované funkce:

Syntax:

const T& max (const T& a , const T& b , Compare comp ); 

Parametry:

    a: hodnota k porovnání b: hodnota k porovnání comp: Binární funkce, která přijímá dvě hodnoty typu T jako argumenty a vrací hodnotu převoditelnou na bool. Vrácená hodnota udává, zda je prvek předaný jako první argument považován za menší než druhý.

Návratová hodnota:

  • Vrátí větší z těchto dvou hodnot.
  • Pokud jsou obě stejné, vraťte první hodnotu.

Příklad:

C++




// 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 } // Driver code int main() { int a = 7; int b = 28; cout < < std::max(a,b,comp) < < ' '; // Returns the first one if both // the numbers are same cout < < std::max(7,7,comp); return 0; }>

Výstup

28 7 

Časová náročnost: O(1)
Pomocný prostor: O(1)

3. Pro nalezení maximálního prvku v seznamu:

Syntax:

T max (initializer_list il , Compare comp ); 

Parametry:

    il: Objekt initializer_list. comp: funkce komparátoru, která je volitelná a lze ji přeskočit.

Návratová hodnota: Je vrácena největší hodnota seznamu.

Níže je uveden program C++ pro nalezení maximálního prvku v seznamu:

CPP




// 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 } // Driver code int main() { // Finding the largest of all the numbers cout < < std::max({1, 2, 3, 4, 5, 10, -1, 7},comp) < < ' '; return 0; }>

Výstup

10 

Časová náročnost: Na)
Pomocný prostor: O(1)

Související články:

  • std::max_element
  • std::min
  • std::rovná se
  • std::min_element v C++