suppression d'elements ds liste chainée [c] - C++ - Programmation
Marsh Posté le 08-02-2003 à 22:21:07
Code :
|
Marsh Posté le 08-02-2003 à 22:35:25
Ca marche meme si le nombre à supprimer est présent plusieur fois ds la liste chainée ?
Marsh Posté le 08-02-2003 à 22:39:44
FabienM a écrit : Ca marche meme si le nombre à supprimer est présent plusieur fois ds la liste chainée ? |
Oui, car tu ne travailles pas avec les données de la liste, mais avec les pointeurs des données de cette liste. Une adresse étant unique, aucun souci.
Par contre, pour supprimer un élément à l'intérieur de la liste (fonction supp_suivant), tu dois impérativement connaitre l'adresse de l'élément précédent (paramètre prec).
Marsh Posté le 09-02-2003 à 12:56:02
Harkonnen a écrit :
|
je comprends pas pourquoi tu fais un test si le pointeur pointe vers quelque chose, ET un test pour savoir si la chose pointée contient quelque chose
si prec contient rien du tout, la variable pointée est forcément vide
si prec contient kke chose, a moins d'une erreur en memoire, prec->suiv est non vide
Marsh Posté le 09-02-2003 à 13:55:43
Skylight a écrit : |
relis bien, si prec n'a pas de suivant, tu peux pas supprimer le suivant de prec (puisqu'il n'en a pas )
Marsh Posté le 09-02-2003 à 15:11:31
Skylight a écrit : je comprends pas pourquoi tu fais un test si le pointeur pointe vers quelque chose, ET un test pour savoir si la chose pointée contient quelque chose |
c'est pas un ET que je fais (opérateur &&), mais un OU (opérateur ||)
si prec ne pointe sur rien OU si prec->suiv ne pointe sur rien (prec->suiv est l'élément qu'on cherche à supprimer), alors forcément il n'y a rien à supprimer.
il suffit qu'au moins une de ces 2 conditions soit remplie pour qu'il n'y ait rien à supprimer
Marsh Posté le 08-02-2003 à 22:16:54
Comment supprimer un element présent ds une liste chainée d'entier??
J'ai essayé ca:
Mais sans succès...