Added push and pop methods for stacks
parent
62907b69ec
commit
c1083c1eef
|
@ -0,0 +1,36 @@
|
||||||
|
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()))
|
Loading…
Reference in New Issue