c++ - ejemplo - ¿Cómo puedo encontrar la int más grande en un std:: set<int>?
string map c++ (5)
¿Qué comparador estás usando?
Para el valor predeterminado, esto funcionará:
if(!myset.empty())
*myset.rbegin();
else
//the set is empty
Esto también será un tiempo constante en lugar de lineal como la solución max_element.
Tengo un std::set<int>
, ¿cuál es la forma correcta de encontrar el int más grande en este conjunto?
Antes de push()
en su set<int>
guardar el valor en int max
en variable global
Como set ordena el elemento en orden ascendente de forma predeterminada, simplemente selecciona el último elemento del conjunto.
Creo que estás buscando std::max_element
:
La función
max_element()
devuelve un iterador al elemento más grande en el rango [inicio, fin].
Los juegos están siempre ordenados. Suponiendo que está utilizando la comparación predeterminada (menos), simplemente tome el último elemento en el conjunto. rbegin () podría ser útil.