Letzter Schlüssel in einer std :: map
Ich bin auf der Suche nach High-key-Wert (definiert durch den Vergleichsoperator), der eine std::map.
Ist dies garantiert
map.rbegin()->first
?
(Ich bin ein bisschen wackelig auf reverse-Iteratoren, und wie viel Freiheit gibt es in der Implementierung von std::map)
Wenn nicht, bitte beraten. Ich kann nicht ändern der Datenstruktur.
InformationsquelleAutor der Frage peterchen | 2008-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. Map ist ein sortierter container, die reverse-iterator zurückgeben müssen die Elemente in umgekehrter Richtung (d.h. Verringerung) der Ordnung Ihrer Schlüssel.
[Edit: als Charles Bailey betont in seiner Antwort, dein code liefert den größten Schlüssel wenn es vorhanden ist - d.h. wenn die Karte nicht leer]
InformationsquelleAutor der Antwort Steve Jessop
Ja, aber denken Sie daran, um zu überprüfen, dass
map.rbegin() != map.rend()
.InformationsquelleAutor der Antwort CB Bailey
Können Sie folgende Methode :-
InformationsquelleAutor der Antwort birubisht