Implement two stacks in an array Java
- Get link
- X
- Other Apps
PROGRAM TO IMPLEMENT TWO STACKS IN AN ARRAY
class TwoStacks { int size; int top1, top2; int arr[]; // Constructor TwoStacks(int n) { arr = new int[n]; size = n; top1 = -1; top2 = size; } // Method to push an element x to stack1 void push1(int x) { // There is at least one empty space for // new element if (top1 < top2 - 1) { top1++; arr[top1] = x; } else { System.out.println("Stack Overflow"); System.exit(1); } } // Method to push an element x to stack2 void push2(int x) { // There is at least one empty space for // new element if (top1 < top2 - 1) { top2--; arr[top2] = x; } else { System.out.println("Stack Overflow"); System.exit(1); } } // Method to pop an element from first stack int pop1() { if (top1 >= 0) { int x = arr[top1]; top1--; return x; } else { System.out.println("Stack Underflow"); System.exit(1); } return 0; } // Method to pop an element from second stack int pop2() { if (top2 < size) { int x = arr[top2]; top2++; return x; } else { System.out.println("Stack Underflow"); System.exit(1); } return 0; } // Driver program to test twoStack class public static void main(String args[]) { TwoStacks ts = new TwoStacks(5); ts.push1(5); ts.push2(10); ts.push2(15); ts.push1(11); ts.push2(7); System.out.println("Popped element from" + " stack1 is " + ts.pop1()); ts.push2(40); System.out.println("Popped element from" + " stack2 is " + ts.pop2()); } }
OUTPUT:
Popped element from stack1 is 11 Popped element from stack2 is 40
- Get link
- X
- Other Apps
Comments
Post a Comment