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:
- 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í.
- 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().
- 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++