Tôi có một vector của chuỗi:bản sao Loại bỏ trong một vector của chuỗi
std::vector<std::string> fName
nắm giữ một danh sách tên tập tin <a,b,c,d,a,e,e,d,b>
.
Tôi muốn loại bỏ tất cả các tệp có bản sao và chỉ muốn giữ lại các tệp không có bản sao trong vectơ.
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);
}
}
}
Thao tác này sẽ xóa một số trùng lặp nhưng vẫn còn một số bản sao còn lại, cần trợ giúp gỡ lỗi.
Ngoài ra đầu vào của tôi trông giống như <a,b,c,d,e,e,d,c,a>
và kết quả mong đợi của tôi là <b>
vì tất cả các tệp khác b, c, d, e có các bản sao bị xóa.
Bạn có muốn giữ bản sao của các bản sao không? I E. bạn có muốn hoặc chỉ không? –
Tôi không muốn giữ bản sao của bản dupilcates. –