我有一个字符串矢量:在字符串中的向量中删除重复
std::vector<std::string> fName
持有的文件名<a,b,c,d,a,e,e,d,b>
的列表。
我想摆脱所有重复的文件,并希望只保留在矢量中没有重复的文件。
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);
}
}
}
这是删除了一些重复但仍有一些重复项左侧,需要帮助进行调试。
而且我输入的样子<a,b,c,d,e,e,d,c,a>
和我的预期输出是<b>
所有其他文件B,C,d,E有他们删除重复项。
你想保留任何副本的副本吗?即你想,还是只有? –
2012-02-11 02:11:25
我不想保留dupilcates的副本。 – 2012-02-11 02:14:28