Nous avons une carte dont la clé et la valeur sont int. Nous devons rechercher une valeur particulière dans la carte et collecter ces clés dans un vecteur. instantané code est commeComment collecter le même type de valeur de la carte
map<int,int>m;
map<int,int>::iterator itr;
vector<int> v;
m.insert(make_pair<int,int>(1,2));
m.insert(make_pair<int,int>(2,2));
m.insert(make_pair<int,int>(3,2));
m.insert(make_pair<int,int>(4,4));
m.insert(make_pair<int,int>(5,5));
et le code actuel est comme:
for (itr = m.begin(); itr != m.end(); ++itr)
{
if ((*itr).second == 2)
v.push_back((*itr).first)
}
Nous aimons l'optimiser. Comment pouvons-nous faire avec l'algorithme STL.
Oui, OP semble essayer d'utiliser la clé comme valeur et valeur comme clé. – Gorpik
Dans un scénario besoin de cela, sinon c'est une carte où nous travaillons sur la seule clé elle-même. – CrazyC
Alors jetez un oeil à boost :: bimap. La valeur – ronag