Supprimer doublons dans un vector
bonjour, voici le problème auquel je suis confronté.
J'ai une classe Coordonnée :
Code:
1 2 3 4 5 6 7
|
class Coordonees
{
private:
int x;
int y;
}; |
dans une méthode d'une autre classe, j'ai un vector de coordonnée contenant des doubles (double au sens : même couple de X et Y). Je souhaite donc les supprimer.
Mon code :
Code:
1 2 3 4 5 6 7
| for(int a = 0; a < retour.size() ; a++){
for(int b = a+1; b < retour.size() ; b++){
if((retour[a].getX()) == (retour[b].getX()) && ((retour[a].getY()) == (retour[b].getY()))) {
retour.erase(retour.begin() + b);
}
}
} |
retour étant le vector.
Si je n'utilise pas ce code, le vector contient une vingtaine de Coordonnée, alors qu'avec le code il n'y en a plus que 8 que voici. Malheureusement comme on peut le constater, des doubles persistent (ici il y a trois fois le couple 6 et 6).
http://nsa25.casimages.com/img/2011/...5523381246.png
si vous pouviez m'aider, merci.