logo

std::max C++

C++ std::maks funkcija yra įtaisyta funkcija, apibrėžta antraštės faile ir naudojama norint sužinoti didžiausią jai perduotą skaičių. Jis grąžina pirmąjį iš jų, jei yra daugiau nei vienas.

Jis gali būti įgyvendintas šiais būdais:



  1. Jis lygina du argumentuose pateiktus skaičius ir pateikia didesnį iš dviejų ir jei abu yra lygūs, tada grąžinamas pirmasis.
  2. Jis taip pat gali palyginti du skaičius naudojant a dvejetainė funkcija , kurį apibrėžia vartotojas, o tada perduoda kaip argumentą std::max().
  3. Tai taip pat naudinga, jei norime rasti didžiausias elementas pateiktame sąraše ir grąžina pirmąjį, jei sąraše yra daugiau nei vienas.

1. Jei norite palyginti elementus naudojant <:

Sintaksė:

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

Parametrai:

    a: lyginamoji vertė b: lyginama vertė

Grąžinimo vertė:



  • Grąžina didesnę iš dviejų reikšmių.
  • Jei abu yra vienodi, grąžinama pirmoji reikšmė.

Pastaba : T yra tipo pavadinimas, apibrėžtas klasės šablone.

Pavyzdys:

C++






rodyklė 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;> }>

>

>

Išvestis

b 7>

Laiko sudėtingumas: O(1)
Pagalbinė erdvė: O(1)

kaip konvertuoti char į eilutę

2. Jei norite palyginti elementus naudojant iš anksto nustatytą funkciją:

Sintaksė:

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

Parametrai:

    a: lyginama reikšmė b: lyginama vertė comp: dvejetainė funkcija, kuri priima dvi T tipo reikšmes kaip argumentus ir grąžina reikšmę, konvertuojamą į bool. Grąžinama reikšmė rodo, ar elementas, pateiktas kaip pirmasis argumentas, laikomas mažesniu nei antrasis.

Grąžinimo vertė:

  • Grąžina didesnę iš dviejų reikšmių.
  • Jei abu yra vienodi, grąžinkite pirmąją reikšmę.

Pavyzdys:

C++


geriausia šypsena pasaulyje



// 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; }>

>

>

Išvestis

28 7>

Laiko sudėtingumas: O(1)
Pagalbinė erdvė: O(1)

3. Norėdami rasti maksimalų elementą sąraše:

Sintaksė:

T max (initializer_list il , Compare comp );>

Parametrai:

    il: Inicializatoriaus_sąrašo objektas. comp: palyginimo funkcija, kuri yra neprivaloma ir gali būti praleista.

Grąžinimo vertė: Grąžinama didžiausia sąrašo reikšmė.

sėklos vs sporos

Žemiau yra C++ programa, skirta rasti maksimalų elementą sąraše:

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; }>

>

>

Išvestis

10>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(1)

Susiję straipsniai:

  • std::max_element
  • std::min
  • std::lygus
  • std::min_element C++