Pile de Taille Fixe
Vous faites partie d'une équipe de développement pour une plateforme d'enseignement de la programmation. Dans le cadre d'une leçon sur la gestion des exceptions et la création de structures de données, on vous a demandé d'implémenter une classe Stack en Python. Cette pile a une taille fixe et prend en charge trois opérations :
push(item): Ajoute un élément au sommet de la pile.pop(): Retire l'élément au sommet de la pile et le renvoie.peek(): Regarde l'élément au sommet de la pile sans le retirer.
Cependant, votre classe Stack doit respecter les contraintes suivantes :
L'opération
push(item)doit lever une exceptionStackOverflowErrorsi l'on tente d'ajouter un élément dans une pile pleine.L'opération
pop()doit lever une exceptionStackEmptyErrorsi l'on tente de retirer un élément d'une pile vide.
Pour créer une bonne abstraction d'héritage de classes, StackOverflowError et StackEmptyError doivent hériter de Exception et ne pas accepter d'arguments dans leurs méthodes __init__.
Entrée | Sortie |
|---|---|
| StackOverflowError: The stack is full |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB