Exercices Algorithmes Pile (stack) avec une liste
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Pile (stack) avec une liste

Une pile, c'est comme une pile d'assiettes. Tu ne peux poser une assiette que sur le dessus, et tu ne peux retirer que celle du dessus. On appelle ca LIFO : Last In, First Out. Le dernier entre est le premier sorti.

Les piles sont partout en informatique. Quand Python exécute ton code et appelle une fonction qui appelle une autre fonction, il utilise une pile d'appels. Le bouton Annuler (Ctrl+Z) de ton editeur utilise aussi une pile.

En Python, une liste fait tres bien l'affaire pour implémenter une pile. append ajoute au sommet, pop retire du sommet, et les deux sont en O(1).

Implemente une classe Pile avec les méthodes :
- empiler(val) : ajoute un élément au sommet
- depiler() : retire et retourne l'élément du sommet (leve IndexError si vide)
- sommet() : retourne l'élément du sommet sans le retirer (leve IndexError si vide)
- est_vide() : retourne True si la pile est vide
- taille() : retourne le nombre d'éléments

Exemple :
p = Pile()
p.empiler(1)
p.empiler(2)
p.depiler() renvoie 2
p.sommet() renvoie 1

Tests (3/4)

Empiler/Depiler
p = Pile()
p.empiler(1)
p.empiler(2)
assert p.depiler() == 2
assert p.depiler() == 1
Sommet
p = Pile()
p.empiler(42)
assert p.sommet() == 42
assert p.taille() == 1
Est vide
p = Pile()
assert p.est_vide() == True
p.empiler(1)
assert p.est_vide() == False

+ 0 tests cachés

Indices (3 disponibles)

solution.py