Waheed Lab Task(s) 7
Waheed Lab Task(s) 7
3. Display all
4. Exit
-------------------------------------------------------------------------------------------------------------
front = -1
rear = -1
def enqueue():
if rear == MAX_SIZE - 1:
else:
front = 0
rear += 1
queue[rear] = element
else:
removed_element = queue[front]
print(f"Dequeued element:
{removed_element}") front += 1
def display():
rear:
print("Queue is Empty!")
else:
print("Queue elements:")
1):
print(queue[i])
# Menu
while True:
print("\n----------------------Array based implementation of
QUEUE-----------------------------------")
print("1. Enqueue an element to queue")
print("2. Dequeue an element from queue")
print("3. Display all")
print("4. Exit")
print("-------------------------------------------------------------------------------------------------------------")
if choice == '1':
enqueue()
dequeue()
display()
break
else:
4.")
Q2:Test the program using the following procedure: QUEUE of
size N=6 Call enQueue(5)
Call enQueue(2)
Call enQueue(3)
Call deQueue ()
call deQueue()
Call enQueue(6)
Call enQueue(3)
Call Display()
def is_empty(self):
return self.front ==
-1
if self.is_full():
print("Queue is Full!")
return
if self.is_empty():
self.front = 0
self.rear = (self.rear + 1) %
self.size self.queue[self.rear] =
value
print(f"Enqueued: {value}")
def dequeue(self):
if self.is_empty():
print("Queue is Empty!")
return
removed = self.queue[self.front]
if self.front == self.rear:
self.front = self.rear = -1 # Queue
is now empty
else:
self.front = (self.front + 1) %
self.size
print(f"Dequeued: {removed}")
def display(self):
if self.is_empty():
print("Queue is Empty!")
return
print("Queue Elements:")
i = self.front
while True:
print(self.queue[i], end="
") if i == self.rear:
break
i = (i + 1) % self.size
print()
Menu-driven program
def main(): q = CircularQueue() while True: print("\
n----------------------Array based implementation of
QUEUE-----------------------------------") print("1. Enqueue an
element to queue") print("2. Dequeue an element
from queue") print("3. Display all") print("4. Exit")
print("---------------------------------------------------------------------
----------------------------------------") choice = input("Please
Enter Your Choice: ")
if choice == '1':
value = input("Enter the value to
enqueue: ")
q.enqueue(value)
elif choice == '2':
q.dequeue()
elif choice == '3':
q.display()
elif choice == '4':
print("Exiting program.")
break
else:
print("Invalid choice. Please enter
a valid option.")
Call enQueue(5)
Call enQueue(2)
Call enQueue(3)
Call deQueue
()
call
deQueue()
Call
enQueue(6)
Call
enQueue(3)
Call Display()
Initial Setup:
•Queue size: 6
•Queue is empty at
start.
•Let's assume a typical circular queue structure
with: ofront pointing to the index of the front
element.
orear pointing to the index where the next
element will be inserted.
Step-by-step Execution:
1. enQueue(5)
•Queue: [5, _, _, _, _, _]
•front = 0, rear = 0
2. enQueue(2)
•Queue: [5, 2, _, _, _, _]
•rear = 1
3. enQueue(3)
•Queue: [5, 2, 3, _, _, _]
•rear = 2
4. deQueue()
•Removes 2
•front = 2
•Queue (logically): [_, _, 3, _, _, _]
6. enQueue(6)
•rear = 3
•Queue: [_, _, 3, 6, _, _]
7. enQueue(3)
•rear = 4
•Queue: [_, _, 3, 6, 3, _]
8. Display()
•front = 2, rear = 4
•Elements from front to rear: 3, 6, 3