DSAverse
Basics & Data Structures
Loading Data Structures...
Array Access
12
05
18
23
317
49
5array[0..5]indexed access
Array
Stack
Queue
Initializing Sorting Algorithms...
Sorting
Trees
Graphs
Preparing interactive visualizations...
Basics & Data Structures
Loading Data Structures...
Array Access
Array
Stack
Queue
Explore FIFO (First In, First Out) — enqueue at rear, dequeue at front, just like a real-world queue.
FRONT = where elements leave | REAR = where elements arrive
Color Legend
Use Enqueue, Dequeue, or Peek to begin visualization.
*O(n) due to shifting. Circular array gives O(1) dequeue.
Add element to the rear — increment rear pointer
Remove front element — shift array or advance front pointer
View front element without removing it
What does FIFO stand for?
class QueueArray:
def __init__(self, max_size):
self.array = [None] * max_size
self.front = 0
self.rear = -1
self.size = 0
self.max_size = max_size
def enqueue(self, value):
if self.size >= self.max_size:
raise Exception("Queue Overflow")
# Circular array: wrap rear pointer
self.rear = (self.rear + 1) % self.max_size
self.array[self.rear] = value
self.size += 1
return value
def dequeue(self):
if self.size <= 0:
raise Exception("Queue Underflow")
value = self.array[self.front]
self.array[self.front] = None
# Circular array: wrap front pointer
self.front = (self.front + 1) % self.max_size
self.size -= 1
return value
def peek(self):
if self.size <= 0:
raise Exception("Queue is Empty")
return self.array[self.front]
def is_empty(self):
return self.size == 0
def is_full(self):
return self.size >= self.max_size