- Create or implement stack in java using array as underlying data structure.
- We will create stack class having following methods
- Push method: Push method will be used to insert new element to stack.
- Pop method: Pop method will remove top element of stack.
- Size method: Size method will return current size of stack.
- isEmpty method: isEmpty method will check, whether stack contains any element.
- isFull method: isFull method will check, whether stack has exhausted its capacity.
Program – create or implement stack using array in java
1.) Stack class:
- Stack class composing integer array as underlying data structure.
- Stack class implements push & pop operations to insert & remove element.
- Stack class contains utility methods like isEmpty, isFull & size.
package org.learn;
import java.util.EmptyStackException;
public class Stack {
private int arr[];
private int size;
private int index = 0;
public Stack(int size) {
this.size = size;
arr = new int[size];
}
public void push(int element) {
if (isFull()) {
throw new StackOverflowError("Stack is full");
}
arr[index] = element;
index++;
}
public int pop() {
if (isEmpty()) {
throw new EmptyStackException();
}
return arr[--index];
}
public boolean isEmpty() {
if (index == 0) {
return true;
}
return false;
}
public boolean isFull() {
if (index == size) {
return true;
}
return false;
}
public int size() {
return index;
}
}
2.) StackClient:
- StackClient class is client of Stack class.
- StackClient class will create Stack class & push integers to stack.
- StackClient class will traverse the stack & pop all elements from stack.
- We will print size of stack, before & after pop operations.
package org.learn;
public class StackClient {
public static void main(String[] args) {
Stack stack = new Stack(5);
stack.push(5);
stack.push(4);
stack.push(3);
stack.push(2);
stack.push(1);
System.out.println("1. Size of stack after push operations: " + stack.size());
System.out.printf("2. Pop elements from stack : ");
while (!stack.isEmpty()) {
System.out.printf(" %d", stack.pop());
}
System.out.println("\n3. Size of stack after pop operations : " + stack.size());
}
}
Output – create or implement stack using array in java
1. Size of stack after push operations: 5
2. Pop elements from stack : 1 2 3 4 5
3. Size of stack after pop operations : 0