Posez votre question Signaler

Recherche d'1 élément dans une liste chainéeC

florence - Dernière réponse le 7 déc. 2006 à 23:00
bonjour . j'aimerai avoir des indications sur la recherche d'1 élément (chaine de caractére) dans une liste chainée.
disons que j'ai un fichier, je crée ma liste chainée en ordre FIFO, par la suite je veux faire une recherche :( si je trouve un méme mot dans la liste je l'efface de la liste; sinon je le garde) .J.aimerai savoir comment je fais avec les chaine de caractére car je ne sais que le faire avec des entiers.ex:

PtrElem ChercherT (PtrElem liste, int val, PtrElem* prec)
{
*prec = NULL;
while (liste && liste->valeur <= val)
{
if (liste->valeur == val) return liste;
else
{
*prec = liste;
liste = liste->suivant;
}
}
return NULL;
}

ca c'est pour des entiers; pour des chaine de caractére je dois utiliser la fonction srcmp qui me compare les 2 chaines et si les 2 sont= je dois en effacer une mais je sais pas comment écrire cela en langage informatique. est ce que quelqu'un pourrait m'aider stp.
(langage C)merci .
Lire la suite 

Recherche d'1 élément dans une liste chainéeC »

1 réponses
Réponse
+0
moins plus
PtrElem ChercherT (PtrElem liste, <char val[], PtrElem* prec)
{
*prec = NULL;
while (liste && liste->valeur <= val)
{
//cette fonction retourne :
//0 si les 2 string son identique
//-1 si la 2ème string est plus grande (ordre alphabétique)
//1 si la 1ère string est plus grande
if (strcmp(liste->valeur,val) == 0) return liste;
else
{
*prec = liste;
liste = liste->suivant;
}
}
return NULL;
}
Ajouter un commentaire
Ce document intitulé « recherche d'1 élément dans une liste chainéeC » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?