webentwicklung-frage-antwort-db.com.de

Abrufen des ersten Werts aus der Karte in C ++

Ich verwende map in C++. Angenommen, ich habe 10 Werte in map und möchte nur den ersten. Wie bekomme ich es?

Vielen Dank.

56
adir

Auf einer Karte wird die Reihenfolge der Einfügungen nicht beibehalten. Verwenden Sie *(myMap.begin()), um den Wert des ersten Paares zu erhalten (das mit dem kleinsten Schlüssel bei Bestellung).

Sie können auch myMap.begin()->first ausführen, um den Schlüssel abzurufen, und myMap.begin()->second, um den Wert abzurufen.

87
Benoit

So einfach wie:

your_map.begin()->first // key
your_map.begin()->second // value
8
jweyrich

begin() gibt das erste Paar zurück (genau ein Iterator zum ersten Paar) und Sie können auf den Schlüssel/Wert zugreifen als ->first und ->second dieses Iterators)

5
Nim

Sie können den Iterator verwenden, der von der begin () -Methode der Kartenvorlage zurückgegeben wird:

std::map<K,V> myMap;
std::pair<K,V> firstEntry = *myMap.begin()

Denken Sie jedoch daran, dass der std :: map-Container seinen Inhalt in geordneter Weise speichert. Der erste Eintrag ist also nicht immer der erste Eintrag, der hinzugefügt wurde.

4
1