Parcourir une liste chainée HELP

Résolu
Bonjour,

j'ai défini les structures suivantes d'une liste chainée :

typedef struct Element Element;
struct Element
{
int nombre;
Element *suivant;
};

typedef struct Liste Liste;
struct Liste
{
Element *premier;
};

mais je veux parcourir cette liste du debut jusqu'a la fin pour chercher un element par exemple . comment faire
et merci d'avance :)

3 réponses

  1. Liste liste;
    // On suppose que tu remplis ta liste
    Element *i = liste;
    int val = 5; // si par exemple tu cherches 5 dans ta liste chainée
    bool trouve = false;
    while (i != null and !false)
    {
    if(i->nombre == val)
    {
    trouve = true;
    }
    else
    {
    i = i->suivant;
    }
    }

    ça fonctionne à condition de bien initialiser à null les pointeurs vers suivant quand tu ajoutes un Element à ta liste.
    1. le compilateur m'a dit qu il y a une erreur en Element *i = liste;

      le msg "incompatible type when initializing type 'struct Element *' using type 'Liste' "

      PS : je programme avec la langage C pas C++