glossaires:python:pile
Ceci est une ancienne révision du document !
Piles
Une pile est une structure de données qui fonctionne selon le principe LIFO (Last In, First Out) : le dernier élément ajouté est le premier élément retiré.
Pile implémentée avec une liste : pile.append(valeur) (empiler), pile.pop() (dépiler)
Il n'est pas obligatoire de créer une classe : on peut directement utiliser une liste comme une pile, en utilisant append() pour empiler et pop() pour dépiler.
pile = [] pile.append(1) #empile la valeur 1 pile.append(2) #empile la valeur 2 pile.append(3) #empile la valeur 3 print(pile.pop()) #dépile et affiche 3 (dernier élément ajouté) print(pile) #affiche [1, 2] (il reste 2 éléments dans la pile)
Python ne possède pas de type “Pile” prédéfini,en terminale il est aussi possible de créer sa propre classe.
p = Pile() p.empiler(valeur) p.depiler() p.est_vide()
On crée une classe Pile contenant une liste vide, et des méthodes pour empiler (ajouter), dépiler (retirer) et tester si la pile est vide.
class Pile: def __init__(self): """ Objectif : Crée une pile vide. Entrée : Sortie : """ self.contenu = [] def empiler(self, valeur): """ Objectif : Ajoute un élément au sommet de la pile. Entrée : valeur : tout type : la valeur à ajouter au sommet de la pile Sortie : """ self.contenu.append(valeur) def depiler(self): """ Objectif : Retire et renvoie l'élément situé au sommet de la pile. Entrée : Sortie : element : tout type : la valeur retirée du sommet de la pile """ element = self.contenu.pop() return element def est_vide(self): """ Objectif : Teste si la pile ne contient aucun élément. Entrée : Sortie : resultat : bool : True si la pile est vide, False sinon """ resultat = (self.contenu == []) return resultat p = Pile() p.empiler(1) p.empiler(2) p.empiler(3) print(p.depiler()) #affiche 3 (dernier élément empilé, premier dépilé) print(p.est_vide()) #affiche False, il reste encore des éléments dans la pile
glossaires/python/pile.1785617134.txt.gz · Dernière modification : de loutrel
