Skip to content

Commit af76eb0

Browse files
authored
Added Stack
1 parent 4a9afd9 commit af76eb0

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

Stack.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
class Stack:
2+
Top = -1
3+
4+
def __init__(self,size):
5+
self.stack = [0 for i in range(size)]
6+
7+
def push(self, value):
8+
if (Stack.Top!=len(self.stack)-1):
9+
Stack.Top += 1
10+
self.stack[Stack.Top] = value
11+
else:
12+
print("Overflow: Stack is Full")
13+
14+
def pop(self):
15+
if (Stack.Top == -1):
16+
print("Underflow: Stack is Empty")
17+
else:
18+
Stack.Top -= 1
19+
20+
def peek(self):
21+
if (Stack.Top == -1):
22+
print("Underflow: Stack is Empty")
23+
else:
24+
return (self.stack[Stack.Top])
25+
26+
def traverse(self):
27+
if (Stack.Top == -1):
28+
print("Underflow: Stack is Empty")
29+
else:
30+
for i in range(Stack.Top,-1,-1):
31+
print(self.stack[i], end = " ")
32+
33+
def is_Full(self):
34+
if (Stack.Top == len(self.stack)-1):
35+
return True
36+
else:
37+
return False
38+
39+
def is_Empty(self):
40+
if (Stack.Top == -1):
41+
return True
42+
else:
43+
return False
44+
45+
# Driver Code
46+
data = Stack(5)
47+
data.traverse()
48+
data.push(5)
49+
data.push(36)
50+
data.push(43)
51+
data.traverse()
52+
data.push(33)
53+
data.traverse()
54+
print(data.peek())
55+
data.pop()
56+
data.traverse()
57+
print(data.is_Empty())
58+
print(data.is_Full())

0 commit comments

Comments
 (0)