题目:Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法。
关键字:逆置
思路 :
将队列中的元素输出,然后输入栈,输入完毕之后,再从栈中输出,得到逆置的结果。
原理:
栈是先进后出,所以输入元素可以实行“逆置输出”
需要变量:队列Q,栈S
void Inverse(Stack S,Queue Q){//本算法实现将队列中的元素逆置
while(!QueueEmpty(Q)){
x=DeQueue(Q);//队列中全部元素依次出队
Push(S,x);//元素依次入栈
}
while(!StackEmpty(S)){
Pop(S,x);//栈中全部元素依次出栈
EnQueue(Q,x);//再入队
}
}