Middle
Qual é a diferença entre uma fila e uma pilha? Quais métodos JS são usados para trabalhar com elas?
sobes.tech IA
Resposta da IA
Очередь (Queue) и стек (Stack) — это структуры данных с разными принципами работы:
- Стек (Stack) — работает по принципу LIFO (Last In, First Out), то есть последний добавленный элемент извлекается первым.
- Очередь (Queue) — работает по принципу FIFO (First In, First Out), то есть первый добавленный элемент извлекается первым.
В JavaScript для работы со стеком обычно используют методы массива:
push()— добавить элемент в конец (верх стека)pop()— удалить и вернуть последний элемент (верх стека)
Для очереди:
push()— добавить элемент в конец очередиshift()— удалить и вернуть первый элемент (голову очереди)
Пример стека:
const stack = [];
stack.push(1);
stack.push(2);
console.log(stack.pop()); // 2
Пример очереди:
const queue = [];
queue.push(1);
queue.push(2);
console.log(queue.shift()); // 1