In Following Example We are Implementing stack with the list data structure
1. Push
2. Pop
- Pushing element at the top of the stack and move cursor of top to next Inserted Element.
- We can implement it with the help of List Data structure Because the stack is built on top of the basic data structure.
- Add an element to top of the stack.
Function:
def Push(self,data):
'''This Will accept Element And Append to existing stack'''
self.stack.append(data)
Example:
class STACKS:
def __init__(self):
self.stack=[]
def Push(self,data):
'''This Will accept Element And Append to existing stack'''
self.stack.append(data)
def Show(self):
return self.stack
s1=STACKS()
#Empty Stack
print("Empty Stack")
print(s1.Show())
#Push 5 Element
s1.Push(5)
#Add 8 Element to Stack
s1.Push(8)
#Stack With ELement
print("\nStack With ELement")
print(s1.Show())
Output:
Empty Stack
[]
Stack With ELement
[5, 8]
- Poping the element means Removing the top element from the stack and move down cursor to next element.
- Remove element from the top of the stack
Function:
def Pop(self):
'''This will Remove the element from top of the stack'''
self.stack.pop()
Example:
class STACKS:
def __init__(self):
#Initialize Empty Stack
self.stack=[]
def Push(self,data):
'''This Will accept Element And Append to existing stack'''
self.stack.append(data)
def Pop(self):
'''This will Remove the element from top of the stack'''
self.stack.pop()
def Show(self):
return self.stack
s1=STACKS()
#Empty Stack
print("Empty Stack")
print(s1.Show())
#5,8,18,21
s1.Push(5)
s1.Push(8)
s1.Push(18)
s1.Push(21)
s1.Push(12)
#Stack With ELement
print("\nStack With ELement")
print(s1.Show())
#pop Last element From Stack
s1.Pop()
print("\nStack Element After Poping last Element")
print(s1.Show())
Output:
Empty Stack
[]
Stack With ELement
[5, 8, 18, 21, 12]
Stack Element After Poping last Element
[5, 8, 18, 21]
- Check Top Element
- Check Empty Stack
Function:
def Top(self):
''' This Will Return The Top Of the Stack
if Empty Then It will Return -1'''
if self.stack==[]:
return "Stack is Empty"
else:
return self.stack[-1]
Function:
def IsEmpty(self):
'''Return True If stack is empty else Return False'''
if self.stack==[]:
return True
else:
return False
Full ALL Example:
class STACKS:
def __init__(self):
#Initialize Empty Stack
self.stack=[]
def Push(self,data):
'''This Will accept Element And Append to existing stack'''
self.stack.append(data)
def Pop(self):
'''This will Remove the element from top of the stack'''
self.stack.pop()
def Top(self):
''' This Will Return The Top Of the Stack
if Empty Then It will Return -1'''
if self.stack==[]:
return "Stack is Empty"
else:
return self.stack[-1]
def IsEmpty(self):
'''Return True If stack is empty else Return False'''
if self.stack==[]:
return True
else:
return False
def Show(self):
'''Retrun Stack All Element'''
return self.stack
#Initialize The Stack Object
s1=STACKS()
#Empty Stack
print("Empty Stack")
print(s1.Show())
#Check Is Stack is Empty OR Not
print("\nIs Stack Is Empty")
print(s1.IsEmpty())
#5,8,18,21
s1.Push(5)
s1.Push(8)
s1.Push(18)
s1.Push(21)
s1.Push(12)
#Stack With ELement
print("\nStack With ELement")
print(s1.Show())
#pop Last element From Stack
s1.Pop()
print("\nStack Element After Poping last Element")
print(s1.Show())
#Get Current Top Element
print("\nTop Of The Stack")
print(s1.Top())
#Check Is Stack is Empty OR Not
print("\nIs Stack Is Empty")
print(s1.IsEmpty())
Output:
Empty Stack
[]
Is Stack Is Empty
True
Stack With ELement
[5, 8, 18, 21, 12]
Stack Element After Poping last Element
[5, 8, 18, 21]
Top Of The Stack
21
Is Stack Is Empty
False