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