Ho un vettore di stringhe:rimuovendo i duplicati in un vettore di stringhe
std::vector<std::string> fName
che contiene un elenco di nomi di file <a,b,c,d,a,e,e,d,b>
.
Voglio sbarazzarsi di tutti i file che hanno duplicati e voglio conservare solo i file che non hanno duplicati nel vettore.
for(size_t l = 0; l < fName.size(); l++)
{
strFile = fName.at(l);
for(size_t k = 1; k < fName.size(); k++)
{
strFile2 = fName.at(k);
if(strFile.compare(strFile2) == 0)
{
fName.erase(fName.begin() + l);
fName.erase(fName.begin() + k);
}
}
}
Questo sta rimuovendo alcuni dei duplicati, ma ha ancora un paio di duplicati di sinistra, hanno bisogno di aiuto nel debugging.
Anche il mio input è simile a <a,b,c,d,e,e,d,c,a>
e il mio output previsto è <b>
poiché tutti gli altri file b, c, d, e hanno duplicati vengono rimossi.
Si desidera conservare qualsiasi copia dei duplicati? Cioè vuoi o solo? –
Non voglio mantenere la copia dei dupilcati. –