Recherche dans une liste chainée

Fermé
sossouha Messages postés 4 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 7 janvier 2004 - 14 déc. 2003 à 18:04
 Profil bloqué - 8 déc. 2006 à 09:33
salut
j'ai à faire la recherche dans une liste chainée de caractères en langage C voici la structure que j'utilise

 typedef struct arc 
{ 
   char val_arc; 
   struct arc *next; 
   }Arc; 
typedef Arc * LIST; 



 
int appart_car(char arc,LIST *L) 
{int result; 
   int trouve=1; 
   while((*L)!=NULL && trouve) 
   { 
      if ((*L)->val_arc==arc) 
      {trouve=0; 
      } 
      else 
      {(*L)=(*L)->next; 

      } 
   } 
   result=!trouve; 
   return result; 
} 


et dessus la fonction de recherche d'un caractère dans la liste chainée, la problème c'est qu'il n'arrive pas à acceder à la valeur du maillon de la liste et donc il ne peut pas faire la comparaison des caractères.
le résultat est toujours 0 donc n'existe pas.
et tant que la comaparaison n'est pas faite je ne peux ni faire l'intersection ni le test d'inclusion d'une liste dans une autre liste.
merci pour votre aide

s'il vous plait si vous pouvez m'aider je suis bloquée à ce stade
et je ne peux rien faire, je ne sais pas l'erreur où est elle
si vous avez un code prêt je vous serai très reconnaissante
merci

2 réponses

Profil bloqué
8 déc. 2006 à 09:19
essai de voir avec ça ..

typedef struct arc
{
char val_arc;
struct arc *next;
}Arc;
typedef Arc * LIST;




int appart_car(char arc,LIST *L)
{int result;
int trouve=1;
while(L!=NULL && trouve==1)
{
if (L->val_arc==arc)
{
trouve=0;
}
else
{
L=L->next;

}
}
result=trouve;
return result;
}
1