Les piles sont des structures linéaires de données dont les éléments ne peuvent être ajoutés ou retirés qu'à partir d'une même extrémité, que l'on nomme aussi le sommet de la pile.
Ce fonctionnement est appelé DEPS (Dernier Entré, Premier Sorti), LIFO en anglais (Last In, First Out).
C'est le principe de la pile d'assiettes : on pose les assiettes une par une sur les assiettes précédentes, et quand on prend une assiette, on la prend sur le dessus.
Il est possible d'effectuer les deux actions suivantes sur des piles :
empiler : ajouter un élément au sommet de la pile
dépiler : retirer un élément au sommet de la pile
On s'intéresse ici à une implémentation rudimentaire des piles en Python à l'aide de listes.
Ce type dispose de méthodes pour ajouter ou supprimer des éléments.
Empiler un élément
La méthode append permet de mettre en œuvre l'action d'empiler une valeur :
🐍 Script Python
>>>pile=[1,2,3]>>>pile.append(4)# empile la valeur 4>>>pile[1,2,3,4]
Dépiler un élément
La méthode pop et en particulier l'instruction pile.pop() permet de mettre en œuvre l'action de dépiler un élément du sommet de la pile et de renvoyer sa valeur :
🐍 Script Python
>>>pile=["un","deux","trois","quatre"]>>>pile.pop()# dépile un élément'quatre'>>>pile["un",'deux','trois']>>>pile.pop()# dépile un élément'trois'>>>pile["un",'deux']
Compléter le code ci-dessous :
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Entrer ou sortir du mode "deux colonnes" (Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran" (Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)