queue: implemented as a list
front: integer having position of first (frontmost) element in queue
rear: integer having position of last element in queue
def cls():
print("\n"*100)
def isEmpty(qu):
if qu==[]:
return True
else:
return False
def Enqueue(qu,item):
qu.append(item)
if len(qu)==1:
front=rear=0
else:
rear=len(qu)-1
def Dequeue(qu):
if isEmpty(qu):
return "Underflow"
else:
item=qu.pop(0)
if len(qu)==0:
front=rear=None
return item
def Peek(qu):
if isEmpty(qu):
return "Underflow"
else:
front=0
return qu[front]
def Display(qu):
if isEmpty(qu):
print("Queue Empty!")
elif len(qu)==1:
print(qu[0],"<== front,rear")
else:
front=0
rear=len(qu)-1
print(qu[front],"<==front")
for a in range(1,rear):
print(qu[a])
print(qu[rear],"<--rear")
#__main__
queue=[]
front=None
while True:
cls()
print("Queue Operations")
print("1.Enqueue")
print("2.Dequeue")
print("3.Peek")
print("4.Display Queue")
print("5.Exit")
ch=int(input("Enter your choice(1-5):"))
if ch==1:
item=int(input("Enter item:"))
Enqueue(queue,item)
input("Press Enter to continue...")
elif ch==2:
item=Dequeue(queue)
if item=="Underflow":
print("Underflow!Queue is Empty")
else:
print("Dequeue-ed item is",item)
input("Press Enter to continue...")
elif ch==3:
item=Peek(queue)
if item=="Underflow":
print("Queue is empty!")
else:
print("Frontmost item is",item)
input("Press Enter to continue...")
elif ch==4:
Display(queue)
input("Press Enter to continue...")
elif ch==5:
break
else:
print("Invalid choice!")
input("Press Enter to continue...")
Contents
Output:
Queue Operations
1.Enqueue
2.Dequeue
3.Peek
4.Display Queue
5.Exit
Enter your choice(1-5):1
Enter item:15
Press Enter to continue…
Queue Operations
1.Enqueue
2.Dequeue
3.Peek
4.Display Queue
5.Exit
Enter your choice(1-5):1
Enter item:35
Press Enter to continue…
Queue Operations
1.Enqueue
2.Dequeue
3.Peek
4.Display Queue
5.Exit
Enter your choice(1-5):1
Enter item:45
Press Enter to continue…
Queue Operations
1.Enqueue
2.Dequeue
3.Peek
4.Display Queue
5.Exit
Enter your choice(1-5):2
Dequeue-ed item is 15
Press Enter to continue…
Queue Operations
1.Enqueue
2.Dequeue
3.Peek
4.Display Queue
5.Exit
Enter your choice(1-5):3
Frontmost item is 35
Press Enter to continue…
Queue Operations
1.Enqueue
2.Dequeue
3.Peek
4.Display Queue
5.Exit
Enter your choice(1-5):4
35 <==front
45 <–rear
Press Enter to continue…
Queue Operations
1.Enqueue
2.Dequeue
3.Peek
4.Display Queue
5.Exit
Enter your choice(1-5):5