std::max in C++
C++ standard::max La funzione è una funzione incorporata definita all'interno del file di intestazione e viene utilizzata per scoprire il numero più grande che gli viene passato. Restituisce il primo se ce n'è più di uno.
Può essere implementato nei seguenti modi:
- Confronta i due numeri passati nei suoi argomenti e restituisce il maggiore dei due, e se entrambi sono uguali, restituisce il primo.
- Può anche confrontare i due numeri utilizzando a funzione binaria , che viene definito dall'utente e quindi passato come argomento in std::max().
- È anche utile se vogliamo trovare il file elemento più grande in un dato elenco e restituisce il primo se ce n'è più di uno presente nell'elenco.
1. Per confrontare gli elementi utilizzando <:
Sintassi:
const T& max (const T& a , const T& b );
parametri:
- a: valore da confrontare b: valore da confrontare
Valore di ritorno:
- Restituisce il maggiore dei due valori.
- Se entrambi sono uguali, restituisce il primo valore.
Nota : T è il nome del tipo definito nel modello di classe.
Esempio:
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;> }> |
Produzione
b 7
Complessità temporale: O(1)
Spazio ausiliario: O(1)
2. Per confrontare elementi utilizzando una funzione predefinita:
Sintassi:
const T& max (const T& a , const T& b , Compare comp );
parametri:
- a: valore da confrontare b: valore da confrontare comp: funzione binaria che accetta due valori di tipo T come argomenti e restituisce un valore convertibile in bool. Il valore restituito indica se l'elemento passato come primo argomento è considerato minore del secondo.
Valore di ritorno:
- Restituisce il maggiore dei due valori.
- Se entrambi sono uguali, restituisce il primo valore.
Esempio:
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; }> |
Produzione
28 7
Complessità temporale: O(1)
Spazio ausiliario: O(1)
3. Per trovare l'elemento massimo in un elenco:
Sintassi:
T max (initializer_list il , Compare comp );
parametri:
- il: un oggetto inizializzatore_list. comp: funzione comparatrice che è opzionale e può essere saltata.
Valore di ritorno: Viene restituito il valore più grande dell'elenco.
Di seguito è riportato il programma C++ per trovare l'elemento massimo in un elenco:
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; }> |
Produzione
10
Complessità temporale: SU)
Spazio ausiliario: O(1)
Articoli Correlati:
- std::max_elemento
- standard::min
- std::uguale
- std::min_element in C++