1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
/**************************************/
/*** ce programme affiche la liste */
/*** chainee saisie */
/**************************************/
# include <stdio.h> //pour printf et scanf
# include <stdlib.h> //pour malloc
typedef struct element
{
int val ;
struct element *suivant;
}*liste;
void main()
{
int n,x,i;
liste tete,p,inser,fin,final,y,milieu,aux;
//allocation de debut liste
tete=(liste) malloc (sizeof (element));
printf("\n l'adresse du tete est : %p \n",tete);
//Saisie de la liste
printf ("Saisie de la liste");
printf ("\nDonner le nbre d'element à saisir\n");
scanf ("%d",&n);
p=tete;
for (i=0;i<n;i++)
{
printf ("Donner un entier\n");
scanf ("%d",&p->val);
p->suivant=(liste) malloc (sizeof(element));
p=p->suivant;
}
p->suivant=NULL; //fin liste
//Affichage de la liste
p=tete;
printf("\n ADRESSE DU TETE est :%p \n",p);
while(p->suivant != NULL)
{
printf(" L'element que vous avez saisie est :%d \n",p->val);
p=p->suivant;
}
printf("\n ADRESSE DU NULL est :%p \n",p);
//ajout a la fin liste
printf("\03 SAISIE DE LA CASE A INSERER \n");
fin=(liste) malloc (sizeof (element));
printf ("L'adresse de la case a insere fin est %p \n",fin);
printf ("Donner un entier\n");
scanf("%d",&fin->val);
p=tete;
while(p != NULL)
{
if(p->suivant == NULL)
{
p->suivant = fin;
break;
}
else
{
printf ("L'adresse de p->suivant est %p \n",p);
printf(" L'element que vous avez saisie est :%d est a l'adresse %p\n",p->val,p);
p=p->suivant;
}
}
printf("\n AFFICHAGE DE LA LISTE APRES INSERTION FIN \n");
p=tete;
while(p->suivant != NULL)
{
printf(" L'element que vous avez saisie est :%d \n",p->val);
p=p->suivant;
}
} |
Partager