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

StackQueue

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

StackQueue

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
You are on page 1/ 3

Stack Representation Using Array

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

stack = StackArray()
stack.push(23)
stack.push(33)
stack.push(43)
print(stack.pop())
print(stack.pop())
print(stack.stack)

43
33
[23]

Stack Representation Using Linked List

class Node:
def __init__(self , item):
self.item = item
self.next = None
class StackLinked:
def __init__(self):
self.top = None
def push(self , item):
new_node = Node(item)
new_node.next = self.top
self.top = new_node
def pop(self):
if not self.is_empty():
popped_item = self.top.item
self.top = self.top.next
return popped_item
return "Stack is empty"
def is_empty(self):
return self.top == 0
stack = StackLinked()
stack.push(44)
stack.push(21)
stack.push(76)
print(stack.pop())
current = stack.top
print("Stack is:")
while current:
print(current.item)
current = current.next

76
Stack is:
21
44

Queue Representation Using Array

class QueueArray:
def __init__(self):
self.queue = []
def Rear(self , item):
self.queue.append(item)
def Font(self):
if not self.is_empty():
return self.queue.pop()
return "Queue is empty"
def is_empty(self):
return len(self.queue) == 0

queue = QueueArray()
queue.Rear(2)
queue.Rear(4)
queue.Rear(5)
print(queue.Font())
print(queue.queue)

5
[2, 4]

Queue Representation Using Linked List

class Node:
def __init__(self, item):
self.item = item
self.next = None

class QueueLinkedList:
def __init__(self):
self.front = self.rear = None

def Rear(self, item):


new_node = Node(item)
if self.is_empty():
self.front = self.rear = new_node
else:
self.rear.next = new_node
self.rear = new_node

def Font(self):
if not self.is_empty():
dequeued_item = self.front.item
self.front = self.front.next
if self.front is None:
self.rear = None
return dequeued_item
return "Queue is empty"

def is_empty(self):
return self.front is None

queue = QueueLinkedList()
queue.Rear(6)
queue.Rear(7)
queue.Rear(8)
print(queue.Font())
print(queue.Font())
while current:
print(current.item)
current = current.next

6
7

You might also like