StackQueue (1)
StackQueue (1)
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(8)
stack.push(3)
stack.push(4)
print(stack.pop())
print(stack.pop())
print(stack.stack)
4
3
[8]
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(4)
stack.push(2)
stack.push(6)
print(stack.pop())
current = stack.top
print("Stack items are:")
while current:
print(current.item)
current = current.next
6
Stack items are:
2
4
class QueueArray:
def __init__(self):
self.queue = []
def enqueue(self , item):
self.queue.append(item)
def dequeue(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.enqueue(1)
queue.enqueue(4)
queue.enqueue(9)
print(queue.dequeue())
print(queue.queue)
9
[1, 4]
class Node:
def __init__(self, item):
self.item = item
self.next = None
class QueueLinkedList:
def __init__(self):
self.front = self.rear = None
def dequeue(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.enqueue(61)
queue.enqueue(72)
queue.enqueue(18)
print(queue.dequeue())
#print(queue.dequeue())
while current:
print(current.item)
current = current.next
61