[multi map] supprimer des éléments
Bonjour à tous!
Je crée une multimap:
Code:
1 2 3 4 5 6 7
|
PointDeControle::Tableau::const_iterator iter;
std::multimap<float, int> liste_distance; // Possibilité de plusieurs distances égales
for (iter = pdc_depart_.begin(); iter != pdc_depart_.end(); iter++) {
liste_distance.insert(std::multimap<float, int>::value_type(distCarre(iter->second, point_courant), iter->first) );
} // On a une liste DISTANCE / Cle associée triée orde croissant |
Je possède maintenant une multimap avec un nombre quelconque d'élément (trié selon mon critère), et je ne voudrais garder que les n premiers éléments, c'est à dire supprimer tous les autres.
J'ai bien entendu pensé à un "iter++" n fois et utiliser erase(iter, end), mais c'est pas une solution géniale.
Si quelqu'un a une solution "propre" à me proposer (pas de recopie), je suis preneur ! ;)