Piles

  • Définition d'une pile
    C'est une structure (ou une collection ou une organisation) de données de même nature ordonnées de bas en haut , rangées en mémoire et fonctionnant sur le principe LIFO (Last In First Out) c'est-à-dire dernier entré, premier sorti.
    Une analogie est une pile d'assiettes ou les cailloux du Petit Poucet.

    Une pile est formée :
    - d'une Tête ou Sommet de Pile
    - d'un Corps qui est  lui-même une pile avec une tête et un corps.Les seules opérations possibles sur une pile sont :
    - Créer une pile vide.
    - Tester si une pile est vide ou non.
    - Ajouter une nouvelle donnée c'est-à-dire empiler.
    - Consulter la dernière donnée entrée.
    - Supprimer la dernière donnée entrée c'est-à-dire dépiler.
  • Cette structure de pile est très utile dans toutes les structures parenthésées :
    - Les boucles imbriquées.
    - Les procédures(pile des variables locales, pile des paramètres, pile de gestion des adresses de retour)
    - Les compilateurs.
  • Exemples
    • Exemple 1 : gestion des adresse de retour
      Program P;
      procedure A;
      procedure B ;
      begin (* de B *)end(* de B *)
      begin(* de A *)
      B ; (* adresse a1 *)
      B ; (* adresse a2 *)
      end (* de A *)
      begin(* de P *)
      A ; (*adresse  a3 *)
      end. (* de P *)