C++ std::max funkcia je vstavaná funkcia definovaná v hlavičkovom súbore a používa sa na zistenie najväčšieho čísla, ktoré jej bolo odovzdané. Ak ich je viac, vráti prvú z nich.
Môže byť implementovaný nasledujúcimi spôsobmi:
- Porovná dve čísla odovzdané vo svojich argumentoch a vráti väčšie z týchto dvoch a ak sú obe rovnaké, vráti prvú.
- Môže tiež porovnať tieto dve čísla pomocou a binárna funkcia , ktorý je definovaný používateľom a potom odovzdaný ako argument v std::max().
- Je tiež užitočné, ak chceme nájsť najväčší prvok v danom zozname a vráti prvý, ak je v zozname viac ako jeden.
1. Na porovnanie prvkov ako pomocou <:
Syntax:
const T& max (const T& a , const T& b );>
Parametre:
- a: porovnávaná hodnota b: porovnávaná hodnota
Návratová hodnota:
- Vráti väčšiu z týchto dvoch hodnôt.
- Ak sú obe rovnaké, vráti prvú hodnotu.
Poznámka : T je názov typu definovaný v šablóne triedy.
Príklad:
C++
to je
// 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;> }> |
>
indická rekha
>Výkon
b 7>
Časová zložitosť: O(1)
Pomocný priestor: O(1)
2. Na porovnanie prvkov pomocou vopred definovanej funkcie:
Syntax:
const T& max (const T& a , const T& b , Compare comp );>
Parametre:
- a: porovnávaná hodnota b: porovnávaná hodnota comp: Binárna funkcia, ktorá akceptuje dve hodnoty typu T ako argumenty a vracia hodnotu premeniteľnú na bool. Vrátená hodnota označuje, či sa prvok odovzdaný ako prvý argument považuje za menší ako druhý.
Návratová hodnota:
- Vráti väčšiu z týchto dvoch hodnôt.
- Ak sú obe rovnaké, vráťte prvú hodnotu.
Prí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; }> |
>
graf alokácie zdrojov
>Výkon
28 7>
Časová zložitosť: O(1)
Pomocný priestor: O(1)
3. Ak chcete nájsť maximálny počet prvkov v zozname:
Syntax:
T max (initializer_list il , Compare comp );>
Parametre:
- il: Objekt zoznamu inicializátorov. comp: funkcia komparátora, ktorá je voliteľná a možno ju preskočiť.
Návratová hodnota: Vráti sa najväčšia hodnota zoznamu.
Nižšie je uvedený program C++ na nájdenie maximálneho prvku v zozname:
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; }> |
>
java zoznam do poľa
>Výkon
10>
Časová zložitosť: O(n)
Pomocný priestor: O(1)
Súvisiace články:
- std::max_element
- std::min
- std::rovná sa
- std::min_element v C++