From 950cd469b09761ca57a794580f18db2b5363cc39 Mon Sep 17 00:00:00 2001 From: Sahil Sayani <72189595+SahilSayani@users.noreply.github.com> Date: Thu, 7 Oct 2021 15:15:55 +0530 Subject: [PATCH] created Stack using array in java --- Stack.java | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 Stack.java diff --git a/Stack.java b/Stack.java new file mode 100644 index 0000000..cb3b9d1 --- /dev/null +++ b/Stack.java @@ -0,0 +1,88 @@ +// Stack implementation in Java + +class Stack { + + // store elements of stack + private int arr[]; + // represent top of stack + private int top; + // total capacity of the stack + private int capacity; + + // Creating a stack + Stack(int size) { + // initialize the array + // initialize the stack variables + arr = new int[size]; + capacity = size; + top = -1; + } + + // push elements to the top of stack + public void push(int x) { + if (isFull()) { + System.out.println("Stack OverFlow"); + + // terminates the program + System.exit(1); + } + + // insert element on top of stack + System.out.println("Inserting " + x); + arr[++top] = x; + } + + // pop elements from top of stack + public int pop() { + + // if stack is empty + // no element to pop + if (isEmpty()) { + System.out.println("STACK EMPTY"); + // terminates the program + System.exit(1); + } + + // pop element from top of stack + return arr[top--]; + } + + // return size of the stack + public int getSize() { + return top + 1; + } + + // check if the stack is empty + public Boolean isEmpty() { + return top == -1; + } + + // check if the stack is full + public Boolean isFull() { + return top == capacity - 1; + } + + // display elements of stack + public void printStack() { + for (int i = 0; i <= top; i++) { + System.out.print(arr[i] + ", "); + } + } + + public static void main(String[] args) { + Stack stack = new Stack(5); + + stack.push(1); + stack.push(2); + stack.push(3); + + System.out.print("Stack: "); + stack.printStack(); + + // remove element from stack + stack.pop(); + System.out.println("\nAfter popping out"); + stack.printStack(); + + } +} \ No newline at end of file