*******************************************************************************/
#include<stdio.h>
#include<stdlib.h>
-
+
typedef int element;
typedef struct cellule {
- element valeur;
- struct cellule *suivant;
+ element valeur;
+ struct cellule *suivant;
} Cellule, *Pile;
-
+
Pile pile_vide(void)
{
- return NULL;
+ return NULL;
}
int est_vide(Pile p)
{
- return (p==NULL); /* ou return !p; */
-}
+ return (p == NULL); /* ou return !p; */
+}
element sommet(Pile p)
/* ATTENTION: consulter le sommet d'une pile vide n'a pas de sens */
{
- if (est_vide(p))
- {
- printf("Erreur - pile vide\n");
- exit(-1);
- }
- return p->valeur; /* la pile n'est pas modifiée */
+ if (est_vide(p)) {
+ printf("Erreur - pile vide\n");
+ exit(-1);
+ }
+ return p->valeur; /* la pile n'est pas modifiée */
}
-Pile empiler(element e,Pile p)
+Pile empiler(element e, Pile p)
{
- Cellule * pc=(Cellule *)malloc(sizeof(Cellule));
- pc->valeur=e;pc->suivant=p;
- return pc;
+ Cellule *pc = (Cellule *) malloc(sizeof(Cellule));
+ pc->valeur = e;
+ pc->suivant = p;
+ return pc;
}
Pile depiler(Pile p)
/* ATTENTION: supprimer le sommet d'une pile vide n'a pas de sens */
{
- Cellule * pc=p;
- if (est_vide(p))
- {
- printf("Erreur - pile vide\n");
- exit(-1);
- }
- p=p->suivant;
- free(pc);
- return p;
+ Cellule *pc = p;
+ if (est_vide(p)) {
+ printf("Erreur - pile vide\n");
+ exit(-1);
+ }
+ p = p->suivant;
+ free(pc);
+ return p;
}
-element depiler2(Pile * p) /*ATTENTION: la pile est modifiée */
-/* ATTENTION: cette opération n'a pas de sens avec une pile vide */
+element depiler2(Pile * p)
{
- Cellule *pc=*p;
- element e;
- if (est_vide(*p))
- {
- printf("Erreur - pile vide\n");
- exit(-1);
- }
- e=(*p)->valeur;
- *p=(*p)->suivant;
- free(pc);
- return e;
+ /* ATTENTION: la pile est modifiée */
+ /* ATTENTION: cette opération n'a pas de sens avec une pile vide */
+ Cellule *pc = *p;
+ element e;
+ if (est_vide(*p)) {
+ printf("Erreur - pile vide\n");
+ exit(-1);
+ }
+ e = (*p)->valeur;
+ *p = (*p)->suivant;
+ free(pc);
+ return e;
}
-
/******************************************************************************/
int main()
-{Pile p;
- int i;
- p=pile_vide();
- for (i=0; i<20; i++) p=empiler(i,p);
- for (i=0; i<25; i++) printf("%d\n",depiler2(&p));
+{
+ Pile p;
+ int i;
+ p = pile_vide();
+ for (i = 0; i < 20; i++)
+ p = empiler(i, p);
+ for (i = 0; i < 25; i++)
+ printf("%d\n", depiler2(&p));
}
-/********************************************************************/
+/********************************************************************/