In this blog we will how we can implement a stack using array.
class MyStack
{
int capacity;
int top;
int arr[];
MyStack(int capacity)
{
this.capacity=capacity;
this.top=-1;
this.arr=new int[capacity];
}
}
class ArrayImplementation
{
public static boolean isempty(MyStack stack)
{
if(stack.top==-1)
return true;
return false;
}
public static boolean isfull(MyStack stack)
{
if(stack.top==stack.capacity-1)
return true;
return false;
}
public static MyStack push(MyStack stack,int data)
{
if(isfull(stack)==true){
System.out.println("You can not push the values:");
return stack;}
else
{
stack.top=stack.top+1;
stack.arr[stack.top]=data;
return stack;
}
}
public static int pop(MyStack stack)
{
if(isempty(stack)==true){
System.out.println("You can not pop the values:");
return -1;}
else
{
int data=stack.arr[stack.top];
stack.top=stack.top-1;
return data;
}
}
public static void printStack(MyStack stack)
{
for(int i=0;i<=stack.top;i++)
System.out.print(stack.arr[i]+" ");
}
public static void main(String args[])
{
MyStack stack=new MyStack(10);
boolean b=isempty(stack);
System.out.println(b);
b=isfull(stack);
System.out.println(b);
stack=push(stack, 10);
stack=push(stack, 20);
stack=push(stack, 30);
stack=push(stack, 40);
int data=pop(stack);
System.out.println(data);
printStack(stack);
}
}