赞
踩
解析:由于对队列的一系列操作不可能将其中的元素逆置,而栈可以将入栈的元素逆序提取出来,因此我们可以让队列中的元素逐个地出队列,入栈;全部入栈后再逐个出栈,入队列。
算法实现内联代码片
。
void Inverser(Stack S, Queue Q)
{
while(!QueueEmpty(Q))
{
x = DeQueue(Q); //队列中全部元素依次出队
Push(S,x); //元素依次入栈
}
while(!StackEmpty(S))
{
Pop(S,x); //栈中全部元素依次出栈
EnQueue(Q,x); //再入队
}
}
小知识:栈与队列的区别:限定表中插入和删除操作位置的不同
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。