Suppose that you want to create the following program: void copyStack(std::stack &srcStack, std::stack &dstStack); This operation copies the elements of srcStack in the same order onto dstStack. Consider the following statements: Int main() { Std::stack stack1; Std::stack stack2; … copyStack(stack1, stack2);
Suppose that you want to create the following program:
void copyStack(std::stack<int> &srcStack, std::stack<int> &dstStack);
This operation copies the elements of srcStack in the same order onto dstStack. Consider the following statements:
Int main() {
Std::stack<int> stack1;
Std::stack<int> stack2;
…
copyStack(stack1, stack2);
The function copyStack(stack1, stack2); copies the elements of stack1 onto stack2 in the same order. That is, the top element of stack1 is the top element of stack2, and so on. The old contents of stack2 are destroyed and stack1 is unchanged. Note that std::stack<int> is a C++ standard library stack object type.
Complete the following program
void copyStack(std::stack<int> &srcStack, std::stack<int> &dstStack)
{
// check if srcStack is empty -> error message is printed and return
// remove all the elements of dstStack
// create a temporary stack tempStack for temporary usage!
// move all the elements from srcStack to tempStack and to dstStack
// move all the elements from tempStack tosrcStack to restore
}
Step by step
Solved in 2 steps