Création de liste chainée simple en c

ENITIEN -  
 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
Configuration: Windows Vista
Firefox 3.5.6

2 réponses

  1. abdex
     
    #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);
    }
    0