a. Add the following operation to the class stackType : void reverseStack(stackType &otherStack); This operation copies the elements of a stack in reverse order onto another stack. Consider the following statements: stackType stack1;stackType stack2; The statement stackl.reverseStack(stack2); copies the elements of stack1 onto stack2 in reverse order. That is, the top element of stack1 is the bottom element of stack2 , and so on. The old contents of stack2 are destroyed and stack1 is unchanged. b. Write the definition of the function template to implement the operation reverseStack .
// the language is c++, please take a screen shot of your output
Write a reverseStackfunction and test it with your studentID.(0766505)
#include<iostream>usingnamespacestd;
intMAXSIZE=8;
intstack[8];
int top=-1;
ntisEmpty(){
if(top==-1)
return1;
else
return0;}
int isFull()
{
if(top==MAXSIZE)
return1;
else
return0;}
int peek()
{
return
stack[top];
}
int pop() {
int data;
if(!isEmpty())
{
data=stack[top];top=top-1;}
else{
cout<<"Couldnotretrievedata,Stackisempty."<<endl;}
returndata;}
voidpush(intdata)
{
if(!isFull()){
top=top+1;stack[top]=data;}
else{
cout<<"Couldnotinsertdata,Stackisfull."<<endl;}}
intmain(){
//pushitemsontothestack
push(3);
push(5);
push(9);
push(1);
push(12);
push(15);
cout<<"Elementattopofthestack:"<<peek()<<endl;
cout<<"Elements:"<<endl;
//printstackdata
while(!isEmpty()){
int data=pop();
cout<<data<<endl;}
cout<<"Stackfull:"<<isFull()<<endl;
cout<<"Stackempty:"<<isEmpty()<<endl;
return0;}
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images