36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
|
class Stack:
|
||
|
def __init__(self):
|
||
|
self.stack_list = []
|
||
|
self.stack_size = 0
|
||
|
def is_empty(self):
|
||
|
return self.stack_size == 0
|
||
|
def peek(self):
|
||
|
if self.is_empty():
|
||
|
return None
|
||
|
return self.stack_list[-1]
|
||
|
def size(self):
|
||
|
return self.stack_size
|
||
|
def push(self, value):
|
||
|
self.stack_size += 1
|
||
|
self.stack_list.append(value)
|
||
|
def pop(self):
|
||
|
if self.is_empty():
|
||
|
return None
|
||
|
self.stack_size -= 1
|
||
|
return self.stack_list.pop()
|
||
|
if __name__ == "__main__":
|
||
|
stack_obj = Stack()
|
||
|
limit = 5
|
||
|
print("Pushing elements into the stack")
|
||
|
for i in range(limit):
|
||
|
print(i)
|
||
|
stack_obj.push(i)
|
||
|
print("is_empty(): " + str(stack_obj.is_empty()))
|
||
|
print("peek(): " + str(stack_obj.peek()))
|
||
|
print("size(): " + str(stack_obj.size()))
|
||
|
print("Popping elements from the stack")
|
||
|
for x in range(limit):
|
||
|
print(stack_obj.pop())
|
||
|
print("is_empty():" + str(stack_obj.is_empty()))
|
||
|
print("peek(): " + str(stack_obj.peek()))
|
||
|
print("size(): " + str(stack_obj.size()))
|