Une pile est une structure de donnée définie par son interface et sa sémantique. On retrouve la notion de pile dans des exemples concrêts de la vie courante: une pile d'assiette, un collier de perle, ctrl+Z, etc.
LIFO (Last In First Out): On ne peut accéder qu'au dernier élément ajouté. Pour accéder au reste de la pile il faut obligatoirement dépiler, c'est-à-dire supprimer cet élément de la pile.
Ce sont les primitives de la structure pile, c'est-à-dire les méthodes qu'elle définit, à savoir:
et parfois éventuellement
On peut visuellement représenter ces primitives comme dans l'exemple ci-dessous:
créer la pile
-> pile
empiler 2
-> None
est vide?
-> False
empiler 25
-> None
dépiler
-> 25