Java program to implement stack data structure
www.theitroad.com
Sure, here's an example Java program to implement a stack data structure using an array:
public class Stack { private int[] arr; // array to store the elements of the stack private int top; // variable to keep track of the top of the stack // constructor to create a stack of given size public Stack(int size) { arr = new int[size]; top = -1; } // method to push an element onto the stack public void push(int element) { if (top == arr.length - 1) { System.out.println("Stack overflow"); } else { arr[++top] = element; } } // method to pop an element from the stack public int pop() { if (top == -1) { System.out.println("Stack underflow"); return -1; } else { return arr[top--]; } } // method to check if the stack is empty public boolean isEmpty() { return (top == -1); } // method to check if the stack is full public boolean isFull() { return (top == arr.length - 1); } // method to peek at the top element of the stack without removing it public int peek() { if (top == -1) { System.out.println("Stack is empty"); return -1; } else { return arr[top]; } } // main method to test the stack implementation public static void main(String[] args) { Stack stack = new Stack(5); stack.push(10); stack.push(20); stack.push(30); stack.push(40); stack.push(50); System.out.println("Top element of stack: " + stack.peek()); while (!stack.isEmpty()) { System.out.println("Popped element: " + stack.pop()); } System.out.println("Is stack empty? " + stack.isEmpty()); } }
This program creates a stack of integers using an array, and provides methods to push and pop elements, check if the stack is empty or full, and peek at the top element without removing it. The main
method demonstrates how to use the stack by pushing elements onto it, peeking at the top element, popping elements from the stack, and checking if the stack is empty.