void
supprimerTous(cellule** listeP, point p) {cellule* pred=NULL; cellule* aux= (*listeP); while (aux != NULL) { if (p.x == aux->p.x && p.y == aux->p.y) if (aux == (*listeP)) /* c est le premier de la liste */ { (*listeP) = aux->suivant; free(aux); } else /* ce n est pas le premier de la liste */ { pred->suivant = aux->suivant; free(aux); aux = pred; } pred = aux; aux = aux->suivant; } } |
int
main() { cellule* listPoints = NULL; point p1 = {10,11}; point p2 = {34,56}; ajouter(&listPoints,p1); ajouter(&listPoints,p2); ajouter(&listPoints,p1); ajouter(&listPoints,p2); ..... supprimerTous(&listePoints, p2); ..... } |