| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 
 |  
listeObjet supprimer_dans_liste(listeObjet lO, int x)
/* specif : supprime le sommet x dans la liste lO                             */
{
   //fy: pas besoin de deb, tu as toujours l0...
   listeObjet tmp = lO, tmp2, deb = lO;
 
    //fearyourself: il faut commencer par tester si l0 == NULL
    //si c'est le cas, on retourne NULL...
 
   //fy: Cette partie est juste sauf que tu ne desalloue pas s (nom de l'objet)
   //fy: Comment est-ce que tu alloue ces chaines de caracteres?
   //fy: Pourquoi som? t'avais x dans ta structure, t'as change ta structure?
   if(lO->som == x)
   {
      tmp = lO->suiv;
      free(lO);
      return tmp;
   }
 
   //fy: Je suis d'accord sur cette boucle
   while(tmp->suiv != NULL && tmp->suiv->som != x)
   {
      tmp = tmp->suiv;
   }
 
   //fy: Il faut tester tmp->suiv!=NULL D'ABORD!!!
   if(tmp->suiv->som == x)
   {
      tmp2 = tmp->suiv;
 
      //fy: mauvaise affectation des liens, c'est tmp->suiv que tu veux changer...
      tmp = tmp->suiv->suiv;
 
      //fy: meme remarque pour tmp2->s...
      free(tmp2);
   }
 
   //retourne juste l0....
   return deb;
} | 
Partager