Outils pour utilisateurs

Outils du site


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