Assignment-3 Stack Queue
Assignment-3 Stack Queue
- 3
def display(self):
temp=self.top
while temp:
print("The value in the stack are",temp.data)
temp=temp.next
st=stack()
st.push(node(10))
st.push(node(20))
st.push(node(30))
st.push(node(40))
st.display()
print("After deletion ")
st.pop()
st.display()
output:-
The value in the stack are 40
The value in the stack are 30
The value in the stack are 20
The value in the stack are 10
After deletion
The deleted node is 40
The value in the stack are 30
The value in the stack are 20
The value in the stack are 10
def dequeue(self):
if self.rear is None:
print("queue is empty")
return
else:
print("The deleted node is ",self.front.data)
self.front=self.front.next
q=queue()
q.enqueue(node(10))
q.enqueue(node(20))
q.enqueue(node(30))
q.enqueue(node(40))
q.print()
q.dequeue()
q.print()
def enqueue(self,new_node):
if self.front==None:
self.front=self.rear=new_node
return
if self.rear:
temp=self.front
if self.front.pri>new_node.pri:
new_node.next=self.front
self.front=new_node
return
while temp.next:
if temp.next.pri>=new_node.pri:
break
else:
temp=temp.next
new_node.next=temp.next
temp.next=new_node
return
def print(self):
temp=self.front
while temp:
print(temp.data,end="->")
temp=temp.next
print()
def dequeue(self):
if self.rear!=None:#check if rear is not empty
temp=self.front
print("node delted....",temp.data)
self.front=self.front.next
if self.front==None: #dlting last node in queue
self.rear=None
del temp
else:
print("queue is empty.....")
p1=prique()
p1.enqueue(node(30,2))
p1.enqueue(node(45,1))
p1.enqueue(node(5,3))
p1.enqueue(node(30,4))
p1.print()
p1.dequeue()
p1.dequeue()
p1.print()
Output:-
3->4->2->1->
node delted.... 3
node delted.... 4
2->1->