#include #include #include "pile.h" static void ajuster(void); static int sommet = -1; static int taille = 0; static int *pile = NULL; bool pile_vide(void) { return sommet == -1; } bool pile_pleine(void) { return false; } static void ajuster(void) { if (sommet == taille - 1) { taille = 2 * taille + 1; pile = realloc(pile, taille); } assert(pile != NULL); } void pile_empile(int valeur) { ajuster(); pile[++sommet] = valeur; } int pile_depile(void) { int valeur = pile_valeur(); sommet--; return valeur; } int pile_valeur(void) { assert(! pile_vide()); return pile[sommet]; } int pile_taille(void) { return sommet + 1; }