Java program for Stack


Stack is a memory container where data inserted and removed according to LIFO(Last in First Out) method. There are two operation in Stack, one is push which add the data and another is pop which remove the data. Suppose in a Bucket when we keep plate one by one. We can only pick that plat which inserted last.
Courtesy : en.wikipedia.org


/**
 * Stack example
 * Inspireskills
 */

public class StackExample {
    private static final int capacity = 3;
    int arr[] = new int[capacity];
    int top = -1;

    public void push(int pushedElement) {
        if (top < capacity - 1) {
            top++;
            arr[top] = pushedElement;
            System.out.println("Element " + pushedElement
                + " is pushed to Stack !");
            printElements();
        } else {
            System.out.println("Stack Overflow !");
        }
    }

    public void pop() {
        if (top >= 0) {
            top--;
            System.out.println("Pop operation done !");
        } else {
            System.out.println("Stack Underflow !");
        }
    }

    public void printElements() {
        if (top >= 0) {
            System.out.println("Elements in stack :");
            for (int i = 0; i <= top; i++) {
                System.out.println(arr[i]);
            }
        }
    }

    public static void main(String[] args) {
        StackExample stackDemo = new StackExample();

     
        stackDemo.push(9);
        stackDemo.push(2);
        stackDemo.push(7);
        stackDemo.push(6);
        stackDemo.pop();
        stackDemo.pop();
        stackDemo.pop();
        stackDemo.pop();
    }


}

Output
Stack Underflow !
Element 9 is pushed to Stack !
Elements in stack :
9
Element 2 is pushed to Stack !
Elements in stack :
9
2
Element 7 is pushed to Stack !
Elements in stack :
9
2
7
Stack Overflow !
Pop operation done !
Pop operation done !
Pop operation done !
Stack Underflow !


SHARE THIS
Previous Post
Next Post