Skip to main content

dequeue

Overview

Dequeue is the fundamental operation of a Queue that removes and returns the element at the front of the queue. It enforces the First In, First Out (FIFO) rule by serving the oldest element first.


What Does Dequeue Do?

The dequeue operation:

  • Removes the front element
  • Returns its value
  • Advances the front pointer or reference

Elements behind the front move closer to being served.


How It Works

Depending on the implementation:

Array-based Queue

  • Read the element at the front index
  • Increment the front pointer
  • May wrap around in circular queues

Linked-list-based Queue

  • Store front value
  • Move front reference to the next node
  • Deallocate the old front node

Example

Pseudocode

dequeue(queue):
if queue is empty:
error "Queue Underflow"
value = queue[front]
front = front + 1
return value

Real-world Analogy

Dequeue is like leaving the front of a line after being served 🎫➡️🚶‍♂️.


Time Complexity

  • Time: O(1)
  • Space: O(1)

Error Conditions

  • Queue underflow: attempting to dequeue from an empty queue

Use Cases

  • Task execution
  • Request handling
  • Message consumption
  • Breadth-first traversal

Advantages

  • Constant-time removal
  • Predictable behavior
  • Clean FIFO semantics

Limitations

  • Cannot remove arbitrary elements
  • Requires proper empty checks