Назад к вопросам
Junior — Middle
65
Какое различие существует между структурой данных 'стэк' и 'очередь'?
Ответ от нейросети
sobes.tech AI
Стэк (stack) и очередь (queue) — это структуры данных с разными принципами работы:
-
Стэк — работает по принципу LIFO (Last In, First Out), то есть последний добавленный элемент извлекается первым. Представьте стопку тарелок: берёшь верхнюю.
-
Очередь — работает по принципу FIFO (First In, First Out), то есть первый добавленный элемент извлекается первым. Аналогия — очередь в магазине: обслуживают по порядку прихода.
Пример на Java:
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
int top = stack.pop(); // вернёт 2
Queue<Integer> queue = new LinkedList<>();
queue.add(1);
queue.add(2);
int first = queue.poll(); // вернёт 1
Таким образом, выбор структуры зависит от задачи: стэк удобен для обратного обхода, очередь — для последовательной обработки.