Sto cercando di scrivere un programma in cpp utilizzando le mappe ...Come evitare i valori duplicati nelle mappe utilizzando C++
Il mio obiettivo è quello di evitare gli stessi valori ripetuti nelle mappe ..
se la chiave è lo stesso, possiamo usare le mappe per evitare le chiavi duplicate. Per consentire chiavi duplicate, usiamo multimaps
In caso se il valore è lo stesso, come possiamo evitare?
Il programma che ho scritto consente valori duplicati
typedef std::map<int, std::string> MyMap;
int main()
{
MyMap map;
MyMap::iterator mpIter;
int key;
string value;
int count;
for(count = 0; count < 3;count++)
{
cin >> key;
cin >> value;
std::pair<MyMap::iterator, bool> res = map.insert(std::make_pair(key,value));
}
for (mpIter=map.begin(); mpIter != map.end(); ++mpIter)
cout << " " << (*mpIter).second << endl;
}
Non hai bisogno di 'std :: map', quindi –
o di un Boost.Bimap con entrambi i lati impostati? –
Verificare che il valore sia già presente con map :: find e saltarlo se è presente. Qual è il tuo problema? – AnatolyS