Monday, September 4, 2023

Stack implementation with interface

// interface  with fixedstack


 interface IntStack

{

void push(int item);

int pop( );

}

class FixedStack implements IntStack

{

private int stck[ ];

private int tos;

FixedStack(int size)

{

stck=new int[size];

tos=-1;

}

public void push(int item)

{

if(tos==stck.length-1)

System.out.println("Stack is full.");

else

stck[++tos]=item;

}

public int pop( )

{

if(tos < 0 )

{

System.out.println("Stack underflow.");

return 0;

}

else

return stck[tos--];

}

}

class IFace

{

public static void main (String args[ ])

{

FixedStack mystack1 = new FixedStack(5);

FixedStack mystack2 = new FixedStack(8);

for(int i=0; i<5; i++) mystack1.push(i);

for(int i=0; i<8; i++) mystack2.push(i);

System.out.println("Stack in mystack1:");

for(int i=0; i<5; i++) 

System.out.println(mystack1.pop( ));

System.out.println("Stack in mystack2:");

for(int i=0; i<8; i++) 

System.out.println(mystack2.pop( ));


//interface  with Dynamic stack

 interface IntStack

{

void push(int item);

int pop( );

}

class DynStack implements IntStack

{

private int stck[ ];

private int tos;

DynStack(int size)

{

stck = new int[size];

tos = -1;

}

public void push(int item)

{

if (tos==stck.length-1)

{

int temp[ ]= new int[stck.lenght*2];

for(int i=0; i<stck.length;i++)temp[i]=stck[i];

stck=temp;

stck[++tos]=item;

}

else

stck[++tos]=item;

}

public int pop( )

{

if (tos < 0)

{

System.out.println("Stack underflow.");

return 0;

}

else

return stck[tos--];

}

}

class DynStack implements IntStack

{

private int stck[];

private int tos;

DynStack(int size)

{

stck = new int[size];

tos = -1;

}

public void push(int item)

{

if (tos==stck.length-1)

{

int temp[ ]= new int[stck.lenght*2];

for(int i=0; i<stck.length;i++)temp[i]=stck[i];

stck=temp;

stck[++tos]=item;

}

else

stck[++tos]=item;

}

public int pop( )

{

if (tos < 0)

{

System.out.println("Stack overrflow.");

return 0;

}

else

return stck[tos--];

}

}

class IFace1

{

public static void main (String args[])

{

DynStack mystack1 = new DynStack(5);

DynStack mystack2 = new DynStack(8);

for(int i=0; i<12; i++) mystack1.push(i);

for(int i=0; i<20; i++) mystack1.push(i);

System.out.println("Stack in mystack1:");

for(int i=0; i<12; i++) 

System.out.println(mystack1.pop( ));

System.out.println("Stack in mystack2:");

for(int i=0; i<20; i++) 

System.out.println(mystack2.pop( ));

}

}


// using both fixedstack and dynamicstack 

class IFace2

{

public static void main (String args[ ])

{

IntStack mystack;

DynStack ds=new DynStack(5);

FixedStack fs= new FixedStack(8);

mystack=ds;

for (int i=0;i<12;i++) mystack.push(i);

mystack = fs;

for (int i=0;i<8;i++) mystack.push(i);

mystack=ds;

System.out.println("values in dynamic stack :");

for (int i=0;i<12;i++) 

System.out.println(mystack.pop());

mystack = fs;

System.out.println("values in fixed stack :");

for (int i=0;i<8;i++)

System.out.println(mystack.pop( ));

}

}


3 comments:

Machine Learning Course Assignments 2024(Dec)

 Machine Learning Course Assignments 2024 1)   Explain the concept of "generalization" in machine learning. Why is it a central go...