題目: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);//再入隊
}
}