logo

std::max v C++

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:



  1. Porovná dve čísla odovzdané vo svojich argumentoch a vráti väčšie z týchto dvoch a ak sú obe rovnaké, vráti prvú.
  2. 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().
  3. 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++