Implement two stacks in an array Python
- Get link
- X
- Other Apps
PROGRAM TO IMPLEMENT TWO STACKS IN AN ARRAY
class twoStacks: def __init__(self, n): # constructor self.size = n self.arr = [None] * n self.top1 = -1 self.top2 = self.size # Method to push an element x to stack1 def push1(self, x): # There is at least one empty space for new element if self.top1 < self.top2 - 1 : self.top1 = self.top1 + 1 self.arr[self.top1] = x else: print("Stack Overflow ") exit(1) # Method to push an element x to stack2 def push2(self, x): # There is at least one empty space for new element if self.top1 < self.top2 - 1: self.top2 = self.top2 - 1 self.arr[self.top2] = x else : print("Stack Overflow ") exit(1) # Method to pop an element from first stack def pop1(self): if self.top1 >= 0: x = self.arr[self.top1] self.top1 = self.top1 -1 return x else: print("Stack Underflow ") exit(1) # Method to pop an element from second stack def pop2(self): if self.top2 < self.size: x = self.arr[self.top2] self.top2 = self.top2 + 1 return x else: print("Stack Underflow ") exit() # Driver program to test twoStacks class ts = twoStacks(5) ts.push1(5) ts.push2(10) ts.push2(15) ts.push1(11) ts.push2(7) print("Popped element from stack1 is " + str(ts.pop1())) ts.push2(40) print("Popped element from stack2 is " + str(ts.pop2()))
OUTPUT:
Popped element from stack1 is 11 Popped element from stack2 is 40
- Get link
- X
- Other Apps
Comments
Post a Comment