Erreur de segmentation - ajout en fin de liste

cs_WildChild54 Messages postés 5 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 5 juin 2009 - 2 juin 2009 à 11:32
cs_WildChild54 Messages postés 5 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 5 juin 2009 - 5 juin 2009 à 22:41
Salut à tous!

J'ai une procédure recursive sensée ajouter un élément en fin de liste qui pose un problème: je ne vois aucune erreur et pourtant lorsque j'execute le programme, au moment d'utiliser cette procedure j'ai une erreur de segmentation...

voici la procédure:

void Ajout_en_Queue(T_Case c, T_Liste l)
   {
       T_Liste p=l;
  
       if (Longueur(p)!=0)
       {

         Ajout_en_Queue(c,p->suivant);
       }
       else
       {
         p->suivant=(T_Liste)malloc(sizeof(T_Element));
         p->valeur=c;
       }

   }

si quelqu'un voulait bien nous aider... ça serait sympa

merci d'avance!
A+

3 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
2 juin 2009 à 12:12
salut

a tester mais ton test ne me parait pas correct :
if (Longueur(p)!=0)
je ferais plutot :
if ( p != NULL)
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
5 juin 2009 à 16:16
Salut,

algorithme pour l'ajout en queue: on suppose que T_Liste l , et T_Case c sont des pointeurs vers des ressources valides

T_Liste temp = l ; //en parametre T_Liste l
if(temp==NULL)
{
l= c;//en parametre T_Case c
}
else
{
      while(temp->suivant!=NULL)temp = temp->suivant;
       temp->suivant = c;
}

Bonne continuation
http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!
0
cs_WildChild54 Messages postés 5 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 5 juin 2009
5 juin 2009 à 22:41
merci bien, j'avais réglé mon probème depuis, je pense qu'on peut clore le sujet! Merci de votre aide en tout cas!

à bientot!
0
Rejoignez-nous