template<typename T>//二个栈实现一个队
class SQueue
{
};
template<typename T>
void SQueue<T>::Appendtail(const T&code)
{//入队元素压入栈s1中
}
template<typename T>
T SQueue<T>::Deletehead()
{//若栈s2不空,则栈顶元素出栈,若栈s2空,则先将栈s1的元素一次出栈、入栈到s2中,此时栈s2的栈顶元素相当于队列的对头元素
}
template<typename T>
class QStack
{
};
template<typename T>
void QStack<T>::push(T const &e)
{//入栈到非空的队列中,若都空,则任选一个队列,此处选Q2,
}
template<typename T>
T QStack<T>::pop()
{//出栈,首先将非空队列中的元素依次出队、入队到另一队列中,直至该非空队列只剩下一个元素,将该元素出队,实现出栈,因此在不做插入删除运算时,至少有一个队列是空的。
}
联系客服