Sobes.tech
Back to questions
Junior — Middle
87

Можете объяснить, что такое структура данных Stack и как она работает?

Answer from AI

sobes.tech AI

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

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

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

Пример реализации стека на JavaScript (Node.js):

class Stack {
  constructor() {
    this.items = [];
  }

  push(element) {
    this.items.push(element);
  }

  pop() {
    if (this.isEmpty()) {
      return null;
    }
    return this.items.pop();
  }

  peek() {
    if (this.isEmpty()) {
      return null;
    }
    return this.items[this.items.length - 1];
  }

  isEmpty() {
    return this.items.length === 0;
  }
}

// Использование:
const stack = new Stack();
stack.push(1);
stack.push(2);
console.log(stack.pop()); // 2
console.log(stack.peek()); // 1

Стек широко используется в алгоритмах, например, для обхода графов, реализации вызовов функций, отмены действий и т.д.