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

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -