Obtenir la première valeur de la carte en C ++
J'utilise map
en C++. Supposons que j'ai 10 valeurs dans map
et que je ne veuille que la première. Comment l'obtenir?
Merci.
Une carte ne gardera pas l'ordre d'insertion. Utilisez *(myMap.begin())
pour obtenir la valeur de la première paire (celle avec la plus petite clé lors de la commande).
Vous pouvez également faire myMap.begin()->first
pour obtenir la clé et myMap.begin()->second
pour obtenir la valeur.
Aussi simple que:
your_map.begin()->first // key
your_map.begin()->second // value
begin()
renvoie la première paire, (précisément, un itérateur à la première paire, et vous pouvez accéder à la clé/valeur comme ->first
et ->second
de cet itérateur)
Vous pouvez utiliser l'itérateur renvoyé par la méthode begin () du modèle de carte:
std::map<K,V> myMap;
std::pair<K,V> firstEntry = *myMap.begin()
Mais rappelez-vous que le conteneur std :: map stocke son contenu de manière ordonnée. La première entrée n'est donc pas toujours la première entrée ajoutée.
*my_map.begin()
. Voir par exemple http://cplusplus.com/reference/stl/map/begin/ .