0% found this document useful (0 votes)
4 views3 pages

Stack and Queue Implementations in Python

Uploaded by

sairaissac11
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

Stack and Queue Implementations in Python

Uploaded by

sairaissac11
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Stack Representation Using Array

class StackArray:
def __init__(self):
[Link] = []
def push(self, item):
[Link](item)
def pop(self):
if not self.is_empty():
return [Link]()
else:
return "Stack is empty"
def is_empty(self):
return len([Link]) == 0

stack = StackArray()
[Link](8)
[Link](3)
[Link](4)
print([Link]())
print([Link]())
print([Link])

4
3
[8]

Stack Representation Using Linked List

class Node:
def __init__(self , item):
[Link] = item
[Link] = None
class StackLinked:
def __init__(self):
[Link] = None
def push(self , item):
new_node = Node(item)
new_node.next = [Link]
[Link] = new_node
def pop(self):
if not self.is_empty():
popped_item = [Link]
[Link] = [Link]
return popped_item
return "Stack is empty"
def is_empty(self):
return [Link] == 0
stack = StackLinked()
[Link](4)
[Link](2)
[Link](6)
print([Link]())
current = [Link]
print("Stack items are:")
while current:
print([Link])
current = [Link]

6
Stack items are:
2
4

Queue Representation Using Array

class QueueArray:
def __init__(self):
[Link] = []
def enqueue(self , item):
[Link](item)
def dequeue(self):
if not self.is_empty():
return [Link]()
return "Queue is empty"
def is_empty(self):
return len([Link]) == 0

queue = QueueArray()
[Link](1)
[Link](4)
[Link](9)
print([Link]())
print([Link])

9
[1, 4]

Queue Representation Using Linked List

class Node:
def __init__(self, item):
[Link] = item
[Link] = None

class QueueLinkedList:
def __init__(self):
[Link] = [Link] = None

def enqueue(self, item):


new_node = Node(item)
if self.is_empty():
[Link] = [Link] = new_node
else:
[Link] = new_node
[Link] = new_node

def dequeue(self):
if not self.is_empty():
dequeued_item = [Link]
[Link] = [Link]
if [Link] is None:
[Link] = None
return dequeued_item
return "Queue is empty"

def is_empty(self):
return [Link] is None

queue = QueueLinkedList()
[Link](61)
[Link](72)
[Link](18)
print([Link]())
#print([Link]())
while current:
print([Link])
current = [Link]

61

You might also like