Стек (Stack) и очередь (Queue) - это две фундаментальные структуры данных, отличающиеся принципом доступа к элементам.
| Признак | Стек (Stack) | Очередь (Queue) |
|---|---|---|
| Принцип | LIFO (Last-In, First-Out) | FIFO (First-In, First-Out) |
| Доступ | Добавление и удаление только с одного конца (вершины стека) | Добавление с одного конца (хвост), удаление с другого (голова) |
| Операции | push (добавить), pop (удалить), peek (получить верхний элемент без удаления) | offer/add (добавить), poll/remove (удалить), peek/element (получить головной элемент без удаления) |
| Примеры использования | Выполнение функций (call stack), алгоритмы поиска в глубину (DFS), отмена операций (undo) | Обработка задач в фоновом режиме, буферы данных, алгоритмы поиска в ширину (BFS) |