std::max în C++
C++ std::max funcția este o funcție încorporată definită în fișierul antet și este folosită pentru a afla cel mai mare număr transmis acestuia. Returnează primul dintre ele dacă există mai mult de unul.
Poate fi implementat în următoarele moduri:
- Compară cele două numere trecute în argumentele sale și returnează cel mai mare dintre cele două și dacă ambele sunt egale, atunci returnează primul.
- De asemenea, poate compara cele două numere folosind a funcţie binară , care este definit de utilizator și apoi transmis ca argument în std::max().
- Este de asemenea util dacă vrem să găsim cel mai mare element într-o listă dată și returnează primul dacă există mai mult de unul prezent în listă.
1. Pentru compararea elementelor folosind <:
Sintaxă:
const T& max (const T& a , const T& b );
Parametri:
- a: valoare de comparat b: valoare de comparat
Valoare returnată:
- Returnează cea mai mare dintre cele două valori.
- Dacă ambele sunt egale, returnează prima valoare.
Notă : T este numele tipului definit în șablonul de clasă.
Exemplu:
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;> }> |
Ieșire
b 7
Complexitatea timpului: O(1)
Spațiu auxiliar: O(1)
2. Pentru compararea elementelor folosind o funcție predefinită:
Sintaxă:
const T& max (const T& a , const T& b , Compare comp );
Parametri:
- a: valoare de comparat b: valoare de comparat comp: Funcție binară care acceptă două valori de tip T ca argumente și returnează o valoare convertibilă în bool. Valoarea returnată indică dacă elementul trecut ca prim argument este considerat mai mic decât al doilea.
Valoare returnată:
- Returnează cea mai mare dintre cele două valori.
- Dacă ambele sunt egale, returnează prima valoare.
Exemplu:
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; }> |
Ieșire
28 7
Complexitatea timpului: O(1)
Spațiu auxiliar: O(1)
3. Pentru a găsi elementul maxim într-o listă:
Sintaxă:
T max (initializer_list il , Compare comp );
Parametri:
- il: Un obiect initializer_list. comp: funcție de comparare care este opțională și poate fi omisă.
Valoare returnată: Este returnată cea mai mare valoare a listei.
Mai jos este programul C++ pentru a găsi elementul maxim într-o listă:
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; }> |
Ieșire
10
Complexitatea timpului: Pe)
Spațiu auxiliar: O(1)
Articole similare:
- std::max_element
- std::min
- std::egal
- std::min_element în C++