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