Remove Duplicate Entries in a C++ Vector -
just want remove duplicates. pool vector<pair<string, int>> seem miss elements @ start of vector somehow. can verify logic of removal? :)
pool master::eliminateduplicates(pool generation) { for(int = 0; < generation.size(); i++) { string current = generation.at(i).first; for(int j = i; j < generation.size(); j++) { if(j == i) { continue; } else { string temp = generation.at(j).first; if(current.compare(temp) == 0) { pool::iterator iter = generation.begin() + j; generation.erase(iter); } } } } return generation; }
this common issue.
because after erase element position j pointed skip 1 element due j++ on loop. easiest solution solve problem based on code add j-- after generation.erase(iter):
generation.erase(iter); j--;
Comments
Post a Comment