push(A), push(B), push(C)
pop() → C
pop() → BПрименение: стек вызовов (call stack), undo/redo, парсинг выражений, обход дерева в глубину (DFS).
enqueue(A), enqueue(B), enqueue(C)
dequeue() → A
dequeue() → BПрименение: очередь задач, BFS (обход в ширину), буферы между производителем и потребителем.
Double-ended queue — добавление и удаление с обоих концов. Объединяет возможности стека и очереди.