Parcourir une liste chainée HELP

Résolu
mrism000 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
mrism000 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -
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. katsuo49 Messages postés 330 Date d'inscription   Statut Membre Dernière intervention   25
     
    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.
    0
  2. mrism000 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
     
    ah ouii merci beaucoup :)
    0
  3. mrism000 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
     
    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++
    0