std::max en C++
C++ estándar::máx. La función es una función incorporada definida dentro del archivo de encabezado y se utiliza para averiguar el número más grande que se le pasa. Devuelve el primero de ellos si hay más de uno.
Se puede implementar de las siguientes maneras:
- Compara los dos números pasados en sus argumentos y devuelve el mayor de los dos, y si ambos son iguales, devuelve el primero.
- También puede comparar los dos números usando un función binaria , que lo define el usuario y luego se pasa como argumento en std::max().
- También es útil si queremos encontrar el elemento más grande en una lista determinada, y devuelve el primero si hay más de uno presente en la lista.
1. Para comparar elementos usando <:
Sintaxis:
const T& max (const T& a , const T& b );
Parámetros:
- a: valor a comparar b: valor a comparar
Valor de retorno:
- Devuelve el mayor de los dos valores.
- Si ambos son iguales, devuelve el primer valor.
Nota : t es el nombre de tipo definido en la plantilla de clase.
Ejemplo:
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;> }> |
Producción
b 7
Complejidad del tiempo: O(1)
Espacio Auxiliar: O(1)
2. Para comparar elementos usando una función predefinida:
Sintaxis:
const T& max (const T& a , const T& b , Compare comp );
Parámetros:
- a: valor a comparar b: valor a comparar comp: Función binaria que acepta dos valores de tipo T como argumentos y devuelve un valor convertible a bool. El valor devuelto indica si el elemento pasado como primer argumento se considera menor que el segundo.
Valor de retorno:
- Devuelve el mayor de los dos valores.
- Si ambos son iguales, devuelve el primer valor.
Ejemplo:
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; }> |
Producción
28 7
Complejidad del tiempo: O(1)
Espacio Auxiliar: O(1)
3. Para encontrar el elemento máximo en una lista:
Sintaxis:
T max (initializer_list il , Compare comp );
Parámetros:
- il: Un objeto initializer_list. comp: función de comparación que es opcional y se puede omitir.
Valor de retorno: Se devuelve el valor más grande de la lista.
A continuación se muestra el programa C++ para encontrar el elemento máximo en una lista:
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; }> |
Producción
10
Complejidad del tiempo: En)
Espacio Auxiliar: O(1)
Artículos relacionados:
- std::max_element
- estándar::mínimo
- std::igual
- std::min_element en C++