Sobes.tech
Назад к вопросам
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

Здесь стек помогает отслеживать открывающиеся скобки и проверять, что они корректно закрываются.