15bbf06492fb0ee8546462fda50dfee64f87c7bf
[Algorithmic_C.git] / TP5 / exo5 / pile_chainee_a_completer.c
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 ****************************************************************/
6
7 #include<stdio.h>
8 #include<stdlib.h>
9
10 typedef int element;
11
12 typedef struct cellule {
13 element valeur;
14 struct cellule *suivant;
15 } Cellule, *Pile;
16
17 Pile pile_vide(void)
18 {
19 }
20
21 int est_vide(Pile p)
22 {
23 }
24
25 element sommet(Pile p)
26 /* ATTENTION: consulter le sommet d'une pile vide n'a pas de sens */
27 {
28 /* la pile n'est pas modifiée */
29 }
30
31 Pile empiler(element e, Pile p)
32 {
33 }
34
35 Pile depiler(Pile p)
36 /* ATTENTION: supprimer le sommet d'une pile vide n'a pas de sens */
37 {
38 }
39
40 element depiler2(Pile * p)
41 {
42 /* ATTENTION: la pile est modifiée */
43 /* ATTENTION: cette opération n'a pas de sens avec une pile vide */
44 }
45
46 /******************************************************************************/
47 int main()
48 {
49 Pile p;
50 int i;
51 p = pile_vide();
52 for (i = 0; i < 20; i++)
53 p = empiler(i, p);
54 for (i = 0; i < 25; i++)
55 printf("%d\n", depiler2(&p));
56 }
57
58 /******************************************************************************/