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 !