Menu

Sign in to track your progress and unlock all features.

Theme style

Log in

Full lesson preview

Implement a queue with enqueue and dequeue

Build a simple FIFO queue supporting enqueue and dequeue operations.

Python practice6 minStacks & QueuesBeginnerLast updated March 27, 2026

Problem statement

Create a Queue class that supports enqueue(value) to add an element to the back of the queue and dequeue() to remove and return the front element. If dequeue is called on an empty queue, return None. Also provide a helper function process_queue(ops) that accepts a list of operations and returns a list of results from each dequeue operation. Each operation is represented as a list: ['enqueue', value] or ['dequeue']. This lets tests run a sequence of queue actions and observe the dequeued values.

Task

Implement a Queue class with enqueue and dequeue methods and use it to process a sequence of operations.

Examples

Basic enqueue and dequeue

Input

process_queue([['enqueue', 1], ['enqueue', 2], ['dequeue'], ['dequeue']])

Output

[1, 2]

We enqueue 1 and 2, then dequeue twice yielding 1 then 2.

Input format

A list of operations, where each operation is ['enqueue', value] or ['dequeue'].

Output format

A list containing the results of each dequeue operation in order. Use None when dequeuing from an empty queue.

Constraints

- The queue should follow FIFO order. - Dequeue on an empty queue must return None. - You may use Python built-ins but avoid external libraries.

Samples

Sample 1

Input

process_queue([['enqueue', 5], ['dequeue'], ['dequeue']])

Output

[5, None]

First dequeue returns 5, second dequeue on empty queue returns None.