这是一个问题来自我被困在下面的试卷,我已经附上了问题,虽然我无法完成我已经做了一些.
题:
使用堆栈和队列类的以下类定义编写一个模板化函数reverseQueue(?),它将一个指向队列的指针作为参数,并使用堆栈对象(或指向堆栈对象的指针)来反转给定的队列.对reverseQueue的函数调用应该反转作为参数传递的队列的数据.[提示:只需在reverseQueue(?)函数中调用下面给出的适当方法.您不必为下面给出的堆栈和队列类/方法编写实现代码.只需阅读每种方法的功能,并根据需要使用它们.]
template <class T>
struct NODE {
NODE<T> *pNext;
T Data;
};
template <class T>
class stack{
private:
NODE<T> * top;
public:
stack();
~stack();
void push (T data); //pushes a new node with data type //T in a stack
bool pop (T &data); //pops out the top most node from //the stack
void printStack(); //prints all elements of a stack
};
template <class T>
class queue {
private:
NODE<T> * front;
NODE<T> * tail;
public:
queue ();
~queue(); …Run Code Online (Sandbox Code Playgroud)