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
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.
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 :
Truesi l'élément est présent dans la pileFalsesinon
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
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