Стек фиксированного размера
Вы являетесь частью команды разработчиков платформы для обучения программированию. В рамках урока по обработке исключений и созданию структур данных вас попросили реализовать класс Stack на языке Python. Этот стек имеет фиксированный размер и поддерживает три операции:
push(item): Добавляет элемент на вершину стека.pop(): Удаляет верхний элемент стека и возвращает его.peek(): Просматривает верхний элемент стека без его удаления.
Однако ваш класс Stack должен удовлетворять следующим ограничениям:
Если попытаться добавить элемент в полный стек, операция
push(item)должна вызывать исключениеStackOverflowError.Если попытаться удалить элемент из пустого стека, операция
pop()должна вызывать исключениеStackEmptyError.
Чтобы создать корректную иерархию классов, StackOverflowError и StackEmptyError должны наследоваться от Exception и не принимать аргументов в своих методах __init__.
Ввод | Вывод |
|---|---|
| StackOverflowError: The stack is full |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB