J'ai un std::set<int>
qui a n
articles. Et je veux me débarrasser de n-k
plus gros éléments et garder le premier (le moins) k
éléments. Comment dois-je faire? Y a-t-il une fonction prédéfinie pour cela?Diviser un ensemble (C++)
5
A
Répondre
9
Un std::set
est commandé.
std::set<int>::const_iterator i = myset.begin();
std::advance(i, k);
myset.erase(i, myset.end());
0
Utilisez la fonction d'effacement:
'std :: avance (i, k)', sûrement? –
Bien sûr, je me demande à quoi je pensais. – Benoit
Ne devrait pas être 'std :: set :: iterator' au lieu de' std :: set :: const_iterator'? –