(Solved) : Two Stacks Size Elements Corresponding Positions Add Method Equalstack Class Stackclass T Q42751780 . . .

Two stacks are the same if they have the same size and theirelements at the corresponding positions are the same. Add themethod equalStack to Class StackClass that takes as a parameter aStackClass object, say otherStack and return true if the stack isthe same as otherStack. Also write the definition of methodequalStack and a program to test your method. In StackClass.java,please finish method – public boolean equalStack(StackClassotherStack) and testing main program – StackProblem.java.

******************************************************************************************************************************************************************************

public class StackProblem {

public static void main(String[] args) {

StackClass intStack = new StackClass(50);

StackClass tempStack = new StackClass(50);

}

}

******************************************************************************************************************************************************************************

public class StackUnderflowException extends StackException{

public StackUnderflowException() {

super(“Stack Underflow”);

}

public StackUnderflowException(String msg) {

super(msg);

}

}

******************************************************************************************************************************************************************************

public interface StackADT<T> {

public void initializeStack();

//Method to initialize the stack to an empty state.

public boolean isEmptyStack();

//Method to determine whether the stack is empty. Postcondition:Returns true if the stack is empty. Otherwise, returns false.

public boolean isFullStack();

//Method to determine whether the stack is full. Postcondition:Returns true if the stack is full. Otherwise, returns false.

public void push(T newItem) throws StackOverflowException;

//Method to add newItem to the stack.

//Precondition: The stack exists and is not full.

//Postcondition: The stack is changed and newItem is added tothe top of stack.

// If the stack is full, the method throwsStackOverflowException.

public T peek() throws StackUnderflowException;

//Method to return a reference to the top element of thestack.

//Precondition: The stack exists and is not empty.

//Postcondition: If the stack is empty, the method throwsStackUnderflowException.

//Otherwise, a reference to the top element of the stack isreturned.

public void pop() throws StackUnderflowException;

//Method to remove the top element of the stack.

//Precondition: The stack exists and is not empty.Postcondition: The stack is changed and the top element is removedfrom the stack.

// If the stack is empty, the method throwsStackUnderflowException.

}

******************************************************************************************************************************************************************************

public class StackClass implements StackADT {

private int maxStackSize; //variable to store the maximum stacksize

private int stackTop; //variable to point to the top of thestack

private T[] list; //array of reference variables

//Default constructor

//Create an array of size 100 to implement the stack.

//Postcondition: The variable list contains the base address ofthe array, stackTop = 0, and maxStackSize = 100.

public StackClass() {

maxStackSize = 100;

stackTop = 0; //set stackTop to 0

list = (T[]) new Object[maxStackSize]; //create the array

}//end default constructor

//Constructor with a parameter

//Create an array of size stackSize to implement the stack.

//Postcondition: The variable list contains the base address ofthe array, stackTop = 0, and maxStackSize = stackSize.

public StackClass(int stackSize) {

if (stackSize <= 0) {

System.err.println(“The size of the array to ” + “implement thestack must be ” + “positive.”);

System.err.println(“Creating an array of size 100.”);

maxStackSize = 100;

}

else

maxStackSize = stackSize; //set the stack size to the valuespecified by the parameter stackSize

stackTop = 0; //set stackTop to 0

list = (T[]) new Object[maxStackSize]; //create the array

}//end constructor

//Method to initialize the stack to an empty state.

//Postcondition: stackTop = 0

public void initializeStack() {

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

list[i] = null;

stackTop = 0;

}//end initializeStack

//Method to determine whether the stack is empty. Postcondition:Returns true if the stack is empty. Otherwise, returns false.

public boolean isEmptyStack() {

return (stackTop == 0);

}//end isEmptyStack

//Method to determine whether the stack is full. Postcondition:Returns true if the stack is full. Otherwise, returns false.

public boolean isFullStack() {

return (stackTop == maxStackSize);

}//end isFullStack

//Method to add newItem to the stack. Precondition: The stackexists and is not full. Postcondition: The stack is changed andnewItem is added to the top of stack.

//If the stack is full, the method throwsStackOverflowException

public void push(T newItem) throws StackOverflowException {

if (isFullStack())

throw new StackOverflowException();

list[stackTop] = newItem; //add newItem at the

//top of the stack

stackTop++; //increment stackTop

}//end push

//Method to return a reference to the top element of thestack.

//Precondition: The stack exists and is not empty.Postcondition: If the stack is empty, the method throwsStackUnderflowException. Otherwise, a reference to the top elementof the stack is returned.

public T peek() throws StackUnderflowException {

if (isEmptyStack())

throw new StackUnderflowException();

return (T) list[stackTop – 1];

}//end peek

//Method to remove the top element of the stack.

//Precondition: The stack exists and is not empty.

//Postcondition: The stack is changed and the top

// element is removed from the stack.

// If the stack is empty, the method

// throws StackUnderflowException

public void pop() throws StackUnderflowException {

if (isEmptyStack())

throw new StackUnderflowException();

stackTop–; //decrement stackTop

list[stackTop] = null;

}//end pop

public boolean equalStack(StackClass otherStack) {

boolean isEqual = true;

} //end equalStack

Expert Answer


Answer to Two stacks are the same if they have the same size and their elements at the corresponding positions are the same. Add t…

Leave a Comment

About

We are the best freelance writing portal. Looking for online writing, editing or proofreading jobs? We have plenty of writing assignments to handle.

Quick Links

Browse Solutions

Place Order

About Us

× How can I help you?