Stack: Basic program with all opertations



Stack program with basic operations

 
My message, especially to young people is to have courage to think differently, courage to invent, to travel the unexplored path, courage to discover the impossible and to conquer the problems and succeed. These are great qualities that they must work towards. This is my message to the young people. - A. P. J. Abdul Kalam
Java Code
import java.util.*;
    
class Stack{
        
    class Node{
        int data;
        Node next;
        Node(int data){
            this.data = data;
        }
    }

    Node top;
    

    public boolean isEmpty(){
        return top == null;
    }

    public void peek(){ 
        if(isEmpty()){
            System.out.println("Empty stack");
            return;
        }
            
        System.out.println("The top element of the stack is " + top.data);
    }

    public void pop(){
        if(isEmpty()){
            System.out.println("Empty stack");
            return;
        }
        int poppedItem = top.data;
        top = top.next;
        System.out.println("The popped item is "+poppedItem);
    }

    public void push(int data){
        Node node = new Node(data);
        node.next = top;
        top = node;
        System.out.println("The inserted item is " + data);

    }
    
    public void  printStack(){
        if(isEmpty()){
            System.out.println("Empty stack");
            return;
        }

        System.out.print("Stack elements are ");
        List allNodesList = new ArrayList<>();
        Node temp = this.top;
        while (temp != null) {
            allNodesList.add(Integer.toString(temp.data));
            temp = temp.next;
        }
        System.out.println(String.join(" -> ", allNodesList));
    }
    
    
    public static void main(String args[]){

        Stack stack = new Stack();
        stack.push(1);
        stack.push(2);
        stack.pop();
        stack.peek();
        stack.push(3);
        stack.push(4);
        stack.push(5);
        stack.printStack();
        stack.peek();
        stack.pop();
        stack.printStack();
        stack.pop();
        stack.printStack();
        
    }
        
}
Output

The inserted item is 1
The inserted item is 2
The popped item is 2
The top element of the stack is 1
The inserted item is 3
The inserted item is 4
The inserted item is 5
Stack elements are 5 -> 4 -> 3 -> 1
The top element of the stack is 5
The popped item is 5
Stack elements are 4 -> 3 -> 1
The popped item is 4
Stack elements are 3 -> 1






Read More....
Implement a stack using queue
Reverse a stack using recursion
Balanced Brackets: Check for balanced brackets in an expression