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
Стек широко используется в алгоритмах, например, для обхода графов, реализации вызовов функций, отмены действий и т.д.