Стек имеет верхний элемент и указатель на остальную часть стека.Для реализации вы можете использовать список или массив
Стек - это линейная структура данных, которая следует определенному порядку, в котором выполняются операции.Главным образом следующие три основные операции выполняются в стеке:
Push: добавляет элемент в стек.Если стек заполнен, это называется условием переполнения.
Pop: удаляет элемент из стека.Элементы выталкиваются в обратном порядке, в котором они выдвигаются.
Peek или Top: возвращает верхний элемент стека.
isEmpty: возвращает true, если стек пуст, иначе false.
class Stack
{
static final int MAX_ELEMENT = 100;
int top;
int a[] = new int[MAX_ELEMENT]; // Maximum size of Stack
boolean isEmpty()
{
return (top < 0);
}
Stack()
{
top = -1;
}
boolean push(int x)
{
if (top >= (MAX_ELEMENT -1))
{
System.out.println("Stack Overflow");
return false;
}
else
{
a[++top] = x;
System.out.println(x + " pushed into stack");
return true;
}
}
int pop()
{
if (top < 0)
{
System.out.println("Stack Underflow");
return 0;
}
else
{
int x = a[top--];
return x;
}
}
}