Espacios de nombres
Variantes
Acciones

std::max

De cppreference.com
< cpp‎ | algorithm
 
 
Biblioteca de algoritmos
Políticas de ejecución (C++17)
Operaciones no modificadoras de secuencia
(C++11)(C++11)(C++11)
(C++17)
Operaciones modificadoras de secuencia
Operaciones en almacenamiento no inicializado
Operaciones de partición
Operaciones de ordenación
(C++11)
Operaciones de búsqueda binaria
Operaciones de set (en rangos ordenados)
Operaciones de pila
(C++11)
Operaciones minimo/maximo
(C++11)
(C++17)
Permutaciones
Operaciones numéricas
Bibliotecas C
 
Definido en la cabecera <algorithm>
template< class T >
const T& max( const T& a, const T& b );
(1)
template< class T, class Compare >
const T& max( const T& a, const T& b, Compare comp );
(2)
template< class T >
T max( std::initializer_list<T> ilist);
(3) (desde C++11)
template< class T, class Compare >
T max( std::initializer_list<T> ilist, Compare comp );
(4) (desde C++11)
1-2)
Devuelve el mayor de los dos valores .
Original:
Returns the greater of the two values.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
3-4)
Devuelve el mayor de los valores en la lista de inicializadores ilist .
Original:
Returns the greatest of the values in initializer list ilist.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Las versiones (1,3) operator< utilizar para comparar los valores, las versiones (2,4) utilizar la función de comparación dado comp .
Original:
The (1,3) versions use operator< to compare the values, the (2,4) versions use the given comparison function comp.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Contenido

[editar] Parámetros

a, b -
los valores para comparar
Original:
the values to compare
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ilist -
inicializador lista con los valores a comparar
Original:
initializer list with the values to compare
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
comp - comparison function object (i.e. an object that satisfies the requirements of Compare) which returns ​true if if a is less than b.

The signature of the comparison function should be equivalent to the following:

 bool cmp(const Type1 &a, const Type2 &b);

While the signature does not need to have const &, the function must not modify the objects passed to it and must be able to accept all values of type (possibly const) Type1 and Type2 regardless of value category (thus, Type1 & is not allowed, nor is Type1 unless for Type1 a move is equivalent to a copy (desde C++11)).
The types Type1 and Type2 must be such that an object of type T can be implicitly converted to both of them. ​

Requerimientos de tipo
-
T debe reunir los requerimientos de LessThanComparable. for the overloads (1) and (3)
-
T debe reunir los requerimientos de CopyConstructible. for the overloads (3) and (4)

[editar] Valor de retorno

1-2)
El mayor de a y b. Si son equivalentes, vuelve a .
Original:
The greater of a and b. If they are equivalent, returns a.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
3-4)
El mayor valor en ilist. Si varios valores son equivalentes a los más grandes, más a la izquierda devuelve el uno .
Original:
The greatest value in ilist. If several values are equivalent to the greatest, returns the leftmost one.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Complejidad

1-2)
Constant
Original:
Constant
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
3-4)
Lineal en ilist.size()
Original:
Linear in ilist.size()
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Posible implementación

Primera versión
template<class T> 
const T& max(const T& a, const T& b)
{
    return (a < b) ? b : a;
}
Segunda versión
template<class T, class Compare> 
const T& max(const T& a, const T& b, Compare comp)
{
    return (comp(a, b)) ? b : a;
}
Tercera versión
template< class T >
T max( std::initializer_list<T> ilist)
{
    return *std::max_element(ilist.begin(), ilist.end());
}
Cuarta versión
template< class T, class Compare >
T max( std::initializer_list<T> ilist, Compare comp )
{
    return *std::max_element(ilist.begin(), ilist.end(), comp);
}

[editar] Ejemplo

#include <algorithm>
#include <iostream>
#include <string> 
int main()
{
    std::cout << "larger of 1 and 9999: " << std::max(1, 9999) << '\n'
              << "larger of 'a', and 'b': " << std::max('a', 'b') << '\n'
              << "longest of \"foo\", \"bar\", and \"hello\": " <<
                  std::max( { "foo", "bar", "hello" },
                            [](const std::string& s1, const std::string& s2) {
                                 return s1.size() < s2.size();
                             }) << '\n';
}

Salida:

larger of 1 and 9999: 9999
larger of 'a', and 'b': b
longest of "foo", "bar", and "hello": hello

[editar] Ver también

devuelve el menor de los dos elementos
Original:
returns the smaller of two elements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de función) [editar]
(C++11)
devuelve el. más grande y el más pequeño de los dos elementos
Original:
returns the larger and the smaller of two elements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de función) [editar]
devuelve el elemento más grande de un rango
Original:
returns the largest element in a range
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de función) [editar]