Rechercher : dans
Par :

Recherche dans une liste chainée

Dernière réponse le 8 déc 2006 à 09:33:32 sossouha, le 14 déc 2003 à 18:04:24 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « recherche dans une liste chainée » dans :
Liste simplement chaînée VoirLISTES SIMPLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes chaînées A. Initialisation B. Insertion d'un élément dans la liste 1. Insertion...
Liste doublement chaînée VoirLISTES DOUBLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes doublement chaînées A. Initialisation B. Insertion d'un élément dans la liste 1....
Langage C - Les listes chaînées VoirLa notion de structure autoréferrentielle Une structure autoréferrentielle (parfois appelée structure récursive) correspond à une structure dont au moins un des champs contient un pointeur vers une structure de même type. De cette façon on crée...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...

1

slum-dunk, le 8 déc 2006 à 09:19:13

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;
}

Répondre à slum-dunk

2

 slum-dunk, le 8 déc 2006 à 09:33:32

Escuse javé oublié là en C il existe une fonction pour la comparaison d 2 chaine"strcmp"

corrige..
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 (strcmp(L->val_arc,arc) ==0)
{
trouve=0;
}
else
{
L=L->next;

}
}
result=trouve;
return result;
}

Répondre à slum-dunk
Collection CommentÇaMarche.net