Stack Basic Operations Using Python
class Stack:
def __init__(self):
self.stack = []
def is_empty(self):
return len(self.stack) == 0
def push(self, item):
self.stack.append(item)
print(f"Pushed: {item}")
def pop(self):
if self.is_empty():
return "Stack is empty"
return f"Popped: {self.stack.pop()}"
def peek(self):
if self.is_empty():
return "Stack is empty"
return f"Top element: {self.stack[-1]}"
def size(self):
return f"Stack size: {len(self.stack)}"
def display(self):
return f"Stack: {self.stack}"
program starts here
s = Stack()
print(s.is_empty()) #?
s.push(10)
s.push(20)
s.push(30)
print(s.display()) # Stack: [?]
print(s.peek()) # Top element: ?
print(s.pop()) # Popped: ?
print(s.display()) # Stack: [?]
print(s.size()) # Stack size: ?
print(s.is_empty()) #?
OUTPUT
True
Pushed: 10
Pushed: 20
Pushed: 30
Stack: [10, 20, 30]
Top element: 30
Popped: 30
Stack: [10, 20]
Stack size: 2
False