Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme avec les listes chainees

liste chainee

    4 janvier 2009 à 10:42:57

    Bonsoir a tous,bonne annee bonne santee bonne rentree....
    bon alors voila il y a peu j'ai decouvert les listes chainées ui super ca arange plein de trucs....
    mais voila vu que je suis debutant j'ai du mal j'arrive a faire les trucs de base
    exemple voila mon code de structure

    tydef struct personne{
    char* nom;
    char* prenom
    int age;
    ....;
    struct personne* suivant;
    };
    personne* Liste

    je vous rassure il y a aussi la fonction creer; ajouter,etc.
    mais ce que je veux savoir c'est comment est ce que je peut faire pour "scanner" toutes les personnes de la liste a partir du premier jusqu au dernier
    vous vouyez car j'ai envie de rechercher une personne par son nom par exemple et donc avec une boucle et un strcmp mais je ne vois pas comment me deplacer dans la liste chainée et me retrouver a la fin au niveau de la structure que je recherche
    pouvez vous m'aidez ?
    • Partager sur Facebook
    • Partager sur Twitter
      4 janvier 2009 à 10:51:07

      Il te faut maintenir en permanence un pointeur vers le premier élément de la liste.
      Pour scanner en suite la liste tu fais un boucle du genre
      ptr = ptr_debut_liste;
      while (ptr != NULL)
      {
        // a-t-on trouvé ce qu'on cherche ?
        if (strcmp(ptr->nom, nom_recherche) == 0)
           break;
        else
          ptr = ptr->suivant; 
      }
      
      // on regarde si on a un pointeur non NULL
      if (ptr != NULL)
      {
        // action lorsqu'on a trouvé
      }
      else
      {
        // action lorsqu'on n'a pas trouvé
      }
      
      • Partager sur Facebook
      • Partager sur Twitter

      Le crayon la gomme et le papier sont les meilleurs outils du programmeur !

      probleme avec les listes chainees

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown