Piles

Dans ce TD, nous allons implémenter les piles.
Pour cette implémentation, nous allons utiliser un tableau.
Et implémenter, dessus les différentes méthodes à l'aide des méthodes append et pop.

Créer une classe Pile qui possèdera 1 attributs :
  • donnees : un tableau vide;

Exemples :


>>> p = Pile()
>>> print(p.donnees)
[]
  
La méthode empiler doit permettre d'ajouter une valeur dans l'attribut pile.
Ajouter une méthode empiler qui prend en paramètre une valeur et qui la stocke dans l'attribut donnees.

Exemple :


>>> p = pile()
>>> p.empiler("♥")
>>> p.empiler("les")
>>> p.empiler("structures")
>>> p.empiler("de")
>>> p.empiler("données")
>>> print(p.pile)
["♥","les","structures","de","données"]
    
On souhaite maintenant pouvoir savoir si la pile est vide où non.
Implémenter la méthode est_vide, qui ne prend pas de paramètre et renvoie un booléen (True/False) suivant que la pile soit vide ou non.

>>> p = pile()
>>> print(p.est_vide())
True
>>> p.empiler(1)
>>> print(p.est_vide())
False
  
On souhaite maintenant pouvoir dépiler les éléments de la pile.
Ainsi dépiler doit permettre d'enlever et de récuper le sommet de la pile.
Implémenter la méthode depiler, qui ne prend pas de paramètre et renvoie le sommet de la pile en le supprimant de la pile si la pile n'est pas vide et None sinon.


>>> p = pile()
>>> p.empiler(1)
>>> p.empiler(2)
>>> p.empiler(3)
>>> sommet = p.depiler()
>>> print(sommet)
3
>>> p1 = pile()
>>> print(p1.depiler())
None
  
On souhaite aussi pouvoir lire le sommet de pile, c'est à dire obtenir sa valeur sans modifier la pile.
Implémenter la méthode sommet qui ne prend pas de paramètre et qui renvoie le sommet de la liste sans modifier la pile.

Exemple


>>> p = pile()
>>> p.empile(2)
>>> p.empile(4)
>>> p.empile(5)
>>> p.empile(9)
>>> print(p.sommet())
9
>>> print(p.donnees)
[2, 4, 5, 9]
  
Il est toujours utile de savoir le nombre d'élèments que contient une pile.
Implémenter une méthode taille qui prend en paramètre un élement et qui renvoie la longueur de la pile.

Exemple


>>> p = pile()
>>> p.empile(2)
>>> p.empile(4)
>>> p.empile(5)
>>> p.empile(9)
>>> print(p.taille())
4
      
Il est aussi toujours utile de savoir si un élément appartient à un pile.
Implémenter une méthode contient qui prend en paramètre un élement et qui renvoie un booléen :
  • True si l'élément est présent dans la pile
  • False sinon

Exemple


>>> p = pile()
>>> p.empile(2)
>>> p.empile(4)
>>> p.empile(5)
>>> p.empile(9)
>>> print(p.contient(1))
False
>>> print(p.contient(5))
True
      
Bravo !!!
Tu as fini d'implémenter une pile.

Le code de fin de TD est 955316 Tu peux maintenant commencer à implémenter les files : Implémentation des files
Editeur + Tableau blanc Document