Назад к вопросам
Junior — Middle
66
Можешь привести пример использования стека в реальных ситуациях?
Ответ от нейросети
sobes.tech AI
Стек — это структура данных, работающая по принципу LIFO (последним пришёл — первым вышел). В реальных ситуациях стек часто используется для:
- Обратного обхода: например, при реализации отмены действий в приложениях (undo).
- Рекурсивных алгоритмов: стек вызовов функций.
- Парсинга выражений: например, при проверке правильности скобок.
Пример на Python: проверка правильности скобок в строке с помощью стека.
def is_balanced(s):
stack = []
pairs = {')': '(', ']': '[', '}': '{'}
for char in s:
if char in '([{':
stack.append(char)
elif char in ')]}':
if not stack or stack.pop() != pairs[char]:
return False
return not stack
print(is_balanced('([]){}')) # True
print(is_balanced('([)]')) # False
Здесь стек помогает отслеживать открывающиеся скобки и проверять, что они корректно закрываются.