Что такое Stack

«Что такое Stack» — вопрос из категории Алгоритмы и структуры данных, который задают на 27% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Stack — это структура данных, работающая по принципу LIFO (Last In, First Out). Элементы добавляются и удаляются только с вершины стека.

Основные операции:

  • push() — добавляет элемент на вершину.
  • pop() — удаляет и возвращает верхний элемент.
  • peek() — возвращает верхний элемент без удаления.
  • isEmpty() — проверяет, пуст ли стек.

Пример (Kotlin):

val stack = Stack<Int>()
stack.push(1)  // [1]
stack.push(2)  // [1, 2]
val top = stack.pop()  // 2, стек [1]

Где используется:

  • Навигация (back stack в Android).
  • Отмена действий (undo/redo).
  • Парсинг выражений.