recorrer mapas mapa example clase c++ iterator stdmap

c++ - mapas - Última clave en un estándar:: mapa



recorrer map c++ (3)

Estoy buscando el valor clave más alto (definido por el operador de comparación) de un std :: map.

¿Esto está garantizado?

map.rbegin()->first

?

(Estoy un poco inestable en los iteradores inversos, y cuánta libertad hay en la implementación de std :: map)

Si no, por favor avise. No puedo cambiar la estructura de datos.


Sí, pero recuerde verificar ese map.rbegin() != map.rend() .


Sí. El mapa es un contenedor ordenado, el iterador inverso debe devolver los elementos en orden inverso (es decir, decreciente) de sus claves.

[Editar: como señala Charles Bailey en su respuesta, tu código da la clave más grande si existe , es decir, si el mapa no está vacío]


Puede usar el siguiente método:

if(!map.empty()) (--map.end())->first;