acb8b6d3368d67f66fd0361f727965f3df3e6b71
1 /*******************************************************************************
2 Implantation d'un type Pile d'entiers sous forme chaînée
3 La pile est représentée par un pointeur.
4 La pile vide est représentée par NULL.
5 *******************************************************************************/
11 typedef struct cellule
{
13 struct cellule
*suivant
;
23 return (p
== NULL
); /* ou return !p; */
26 element
sommet(Pile p
)
27 /* ATTENTION: consulter le sommet d'une pile vide n'a pas de sens */
30 printf("Erreur - pile vide\n");
33 return p
->valeur
; /* la pile n'est pas modifiée */
36 Pile
empiler(element e
, Pile p
)
38 Cellule
*pc
= (Cellule
*) malloc(sizeof(Cellule
));
45 /* ATTENTION: supprimer le sommet d'une pile vide n'a pas de sens */
49 printf("Erreur - pile vide\n");
57 element
depiler2(Pile
* p
)
59 /* ATTENTION: la pile est modifiée */
60 /* ATTENTION: cette opération n'a pas de sens avec une pile vide */
64 printf("Erreur - pile vide\n");
73 /******************************************************************************/
79 for (i
= 0; i
< 20; i
++)
81 for (i
= 0; i
< 25; i
++)
82 printf("%d\n", depiler2(&p
));
85 /********************************************************************/