[HELP]:Remplir et Afficher une liste chainée.
aminreal
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
amine3113enima -
amine3113enima -
Bonjour tous le monde,
j'ai vrmt besoin de votre aides.
je suis débutant en langage C, et on est déjà sur les listes chainée.
alors je vous explique ce que mon programme doit faire.
-Construire une liste chainée.
-remplir la liste, avec une boucle.
-afficher la liste à la fin.
voilà ou je suis arrivé :
De l'aide SVP;
j'ai vrmt besoin de votre aides.
je suis débutant en langage C, et on est déjà sur les listes chainée.
alors je vous explique ce que mon programme doit faire.
-Construire une liste chainée.
-remplir la liste, avec une boucle.
-afficher la liste à la fin.
voilà ou je suis arrivé :
#include<stdio.h> #include<stdlib.h> #include<conio.h> struct list{ int val; struct list *next; }; struct list *p; typedef struct list LIST; typedef LIST *LINK; int main() { LINK queue = NULL; LINK tete = NULL; LINK p = NULL; int N, i=0; printf("donner un nombre : "); scanf("%d", &N); for(i=0;i<N;i++) { p = (LIST *) malloc(sizeof(LIST)); queue->next = p; tete->next = queue; printf("donner la valeur %d: ", i); scanf("%d", queue->val); } while(p != NULL) { printf("%s\n", p->val); p = p->next; } system("PAUSE"); }
De l'aide SVP;
3 réponses
Bonjour,
Apparemment il n'y a pas de règle sur la façon dont la liste est gérée donc vous pouvez faire au plus simple en ajoutant la nouvelle entrée par la tête de la liste au lieu de le faire par la queue. Si vous avez du mal avec typedef vous pouvez vous en passer
Petit bout de code facile à comprendre :
Apparemment il n'y a pas de règle sur la façon dont la liste est gérée donc vous pouvez faire au plus simple en ajoutant la nouvelle entrée par la tête de la liste au lieu de le faire par la queue. Si vous avez du mal avec typedef vous pouvez vous en passer
Petit bout de code facile à comprendre :
#include <stdio.h> #include <stdlib.h> struct list{ int val; struct list *next; }; int main(void) { struct list *tete,*ptr; int n,i; tete=ptr=NULL; printf("donner un nombre : "); scanf("%d",&n); for(i=0;i<n;i++){ ptr=malloc(sizeof(struct list)); if(ptr!=NULL){ printf("donner la valeur %d : ",i); scanf("%d",&ptr->val); ptr->next=tete; tete=ptr; } } while(tete){ printf("%d\n",tete->val); ptr=tete; tete=tete->next; free(ptr); } return 0; }
amine3113enima
merci mon frere