Création de liste chainée simple en c [Fermé]

Signaler
-
 abdex -
Bonjour,
je me bloque sur l'utilisation des listes chainées et je recherche un exemple simple :
par exemple création d'une liste chainée de 4 entiers en utilisant la structure suivante :
struct element
{int x;
struct element *suivant;};
merci d'avance

2 réponses

Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h> /*ou stdlib.h*/
struct page {int val; struct page *suivant; };
struct page *premier;

int encore(void) /* demande si on en veut encore*/
{
printf("encore (O/N) ? ");
return(getche()=='O');
}
void lecture(void)
{
struct page *precedent,*nouveau;
premier=(struct page *)malloc(sizeof(struct page));
puts("entrez votre premier entier");
scanf("%d",&premier->val);
precedent=premier;
while (encore())
{
nouveau=(struct page *)malloc(sizeof(struct page));
precedent->suivant=nouveau;
precedent=nouveau;
puts("\nentrez votre entier");
scanf("%d",&nouveau->val);
}
precedent->suivant=NULL;
}
void affiche(struct page *debut)
{
printf("\nliste : ");
while(debut!=NULL)
{
printf("%d ",debut->val);
debut=debut->suivant;
}
printf("\n");
}
int main(void)
{
lecture();
affiche(premier);
}