Recherche dans une liste chainée

Signaler
Messages postés
4
Date d'inscription
dimanche 14 décembre 2003
Statut
Membre
Dernière intervention
7 janvier 2004
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
salut,
J'ai à faire le recherche d'un caractère dans une liste chainée 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

1 réponse

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
int appart_car(char arc,LIST *L)
{
LIST *p = L;
while(p) {
if(p->val_arc == arc) return 1;
p = p->next;
}
return 0;
}

Un truc de ce genre, non ?
BruNews, ciao...