A stack is LIFO (Last In, First Out): the last item added is the first removed — like a stack of plates. A queue is FIFO (First In, First Out): the first item added is the first removed — like a line at a store. Both are fundamental data structures used throughout programming.

How Stack & Queue Works

Stack examples: browser back button (pop the last page), undo/redo (pop the last action), function call stack (return to the calling function). Queue examples: print queue (first document submitted prints first), task scheduling, BFS traversal (explore nodes level by level).

Key Concepts

  • Stack (LIFO) — push() adds to top, pop() removes from top — function calls, undo, expression parsing
  • Queue (FIFO) — enqueue() adds to back, dequeue() removes from front — scheduling, BFS, buffering
  • Priority Queue — Dequeue by priority, not insertion order — implemented with a heap data structure
  • Deque — Double-ended queue — add/remove from both ends — sliding window problems

Learn Stack & Queue — Top Videos

Stack & Queue Educators

Frequently Asked Questions

How are stacks/queues implemented?

Arrays work for both. push/pop for stacks (end of array). For queues, use a linked list or circular buffer — array shift() is O(n). In interviews, implement stacks with arrays and queues with linked lists.