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