Skip to content

Commit a077a20

Browse files
Added program to immplement Queue data structure
1 parent 4df015d commit a077a20

1 file changed

Lines changed: 78 additions & 0 deletions

File tree

algorithms/Queues.py

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
"""
2+
Author: Jay Paliwal
3+
Desc: And implementation of the Queue data structure using arrays.
4+
"""
5+
class Queue:
6+
def __init__(self,size):
7+
self.size=size
8+
self.q=[]
9+
self.front=-1
10+
self.rear=-1
11+
def enqueue(self):
12+
if self.rear==(self.size-1):
13+
print("Queue Full")
14+
else:
15+
val=int(input("Enter the value to be enqueued: "))
16+
self.q.append(val)
17+
self.rear+=1
18+
if self.front==-1:
19+
self.front=0
20+
21+
def dequeue(self):
22+
if self.rear<0 or self.rear<self.front:
23+
print("Queue Empty")
24+
else:
25+
if self.rear!=self.front:
26+
print("The value dequeued was: ",self.q.pop(0))
27+
self.front+=1
28+
else:
29+
print("The value dequeued was: ",self.q.pop(0))
30+
self.front=-1
31+
self.rear=-1
32+
def frontdisp(self):
33+
if self.front==-1:
34+
print("Queue Empty")
35+
return
36+
print("The element at the front is: ",self.q[0])
37+
def reardisp(self):
38+
if self.front==-1:
39+
print("Queue Empty")
40+
return
41+
print("The element at the rear is: ",self.q[len(self.q)-1])
42+
def display(self):
43+
if self.front==-1:
44+
print("Queue Empty")
45+
return
46+
print("The elements in the queue are: ",*self.q)
47+
def empty(self):
48+
if self.front==-1:
49+
print("Queue Empty")
50+
return
51+
print("The elements being deleted from the queue are: ",*self.q)
52+
self.q=[]
53+
self.rear=-1
54+
self.front=-1
55+
56+
57+
58+
Queue_size=int(input("Enter the size of the Queue: "))
59+
que=Queue(Queue_size)
60+
while True:
61+
fn=input("\nMenu:\n1. Enter 'enqueue' to add new element\n2. Enter 'dequeue' to delete rear element\n3. Enter 'front' to view front most elemnt\n4. Enter 'rear' to view rear most element\n5. Enter 'display' to display all elemts of queue\n6. Enter 'empty' to display current queue elemets and clear the queue\n7. Enter 'exit' to end program\n")
62+
print("\n")
63+
if fn=="exit":
64+
break
65+
elif fn=="enqueue":
66+
que.enqueue()
67+
elif fn=="dequeue":
68+
que.dequeue()
69+
elif fn=="front":
70+
que.frontdisp()
71+
elif fn=='rear':
72+
que.reardisp()
73+
elif fn=="display":
74+
que.display()
75+
elif fn=="empty":
76+
que.empty()
77+
else:
78+
print("Enter a valid input")

0 commit comments

Comments
 (0)