Question
Use the stackADT class and stackType classes given to you in Ch. 18 and code supplied here to complete this assignment. #include #include myStack.h using
Use the stackADT class and stackType classes given to you in Ch. 18 and code supplied here to complete this assignment.
#include
#include "myStack.h"
using namespace std;
int main()
{
stackType
stackType
stack1.initializeStack();
stack1.push(23);
stack1.push(45);
stack1.push(38);
stack2 = stack1;
if (stack1 == stack2)
cout << "stack1 and stack2 are identical" << endl;
else
cout << "stack1 and stack2 are not identical" << endl;
stack2.pop();
stack2.push(32);
cout << "**** After pop and push operations on stack2 ****" << endl;
if (stack1 == stack2)
cout << "stack1 and stack2 are identical" << endl;
else
cout << "stack1 and stack2 are not identical" << endl;
stack2.push(11);
cout << "**** After another push operation on stack2 ****" << endl;
if (stack1 == stack2)
cout << "stack1 and stack2 are identical" << endl;
else
cout << "stack1 and stack2 are not identical" << endl;
return 0;
}
Modify the stack implementation such that it uses a vectors as the container instead of an array.
Overload the pure virtual function push such that it takes a vector as an argument which pushes multiple values onto the stack.
Throw exceptions when:
An attempt is made to pop from an empty stack (display message)
An attempt is made to push onto a full stack (display message)
top() is called on an empty stack (display message).
A negative or zero value for stack size is passed to the constructor (In this case, when handling the error, automatically recall the constructor with a value of 100).
Using the STL queue container, add multiple stackType classes to a queue. Demonstrate an ability to use STL queue methods such as front() and pop().
Useful notes:
Leverage the functions which are already given to you.
Submission requirements:
Submit all files required to make this program run as required. Your solution can be a single file.
Submit source code, a screenshot with a time stamp of code execution, and a text file of the code. All code should include comments.
Code 1
template
Code 2
template
void push(const Type& newItem); //Function to add newItem to the stack. //Precondition: The stack exists and is not full. //Postcondition: The stack is changed and newItem // is added to the top of the stack. Type top() const; //Function to return the top element of the stack. //Precondition: The stack exists and is not empty. //Postcondition: If the stack is empty, the program // terminates; otherwise, the top element // of the stack is returned. void pop(); //Function 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. stackType(int stackSize = 100); //Constructor //Create an array of the size stackSize to hold //the stack elements. The default stack size is //Postcondition: The variable list contains the // address of the array, stackTop // maxStackSize = stackSize. stackType(const stackType
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started