Стек и очередь — чем отличаются и где применяются?
Суть
- Стек — LIFO: кладём и забираем с одного конца (
push/pop). Применение: стек вызовов, undo, обход в глубину (DFS), проверка скобок, разбор выражений, навигационный стек (NavigationStack,UINavigationController). - Очередь — FIFO: кладём в хвост, забираем из головы (
enqueue/dequeue). Применение: очереди задач (DispatchQueue,OperationQueue), обход в ширину (BFS), буферы событий. - Дек — операции с обоих концов за O(1); в stdlib нет, есть
Dequeв swift-collections.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep