Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur les listes chainées

Initialiser une liste chainée

    23 octobre 2008 à 18:48:49

    Bonsoir,
    Je viens de lire le tuto fait par un membre sur les listes chainées et je me demandais si il y avait un moyen simple pour initialiser une liste chainée (à une autre valeur que 0).
    Par exemple je veux mettre dès le début les valeurs 1, 2 et 3 dans ma liste, suis-je obliger de les ajouter une par une avec la fonction ajouterEnTete (par exemple) ou y a t il un moyen plus simple ?
    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2008 à 19:22:56

      Citation : TrexXx

      Bonsoir,
      Je viens de lire le tuto fait par un membre sur les listes chainées et je me demandais si il y avait un moyen simple pour initialiser une liste chainée (à une autre valeur que 0).
      Par exemple je veux mettre dès le début les valeurs 1, 2 et 3 dans ma liste, suis-je obliger de les ajouter une par une avec la fonction ajouterEnTete (par exemple) ou y a t il un moyen plus simple ?


      Euh, initialiser une liste chainée ça consiste à ce que le pointeur de tête vaille 0 (liste vide)

      struct node *head = NULL;
      


      Tu veux peut être dire "peut-on créer une liste chainée statiquement ?"

      Oui, bien sûr, à des fins pédagogique :

      #include <stdio.h>
      
      struct node
      {
         /* data */
         int x;
         /* link */
      
         struct node *next;
      };
      
      static void display (struct node *list)
      {
         struct node *p = list;
      
         while (p != NULL)
         {
            printf ("%d\n", p->x);
            p = p->next;
         }
      }
      
      int main (void)
      {
         struct node a[] = {
            {1, a + 1},
            {2, a + 2},
            {3, NULL},
         };
      
         struct node *head = a;
      
         display (head);
      
         return 0;
      }
      

      1
      2
      3
      
      Process returned 0 (0x0)   execution time : 0.026 s
      Press any key to continue.
      • Partager sur Facebook
      • Partager sur Twitter
      Music only !

      Question sur les listes chainées

      × 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