小白算法積累——隊列和棧2#快速逆置

題目: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);//再入隊
   }
 }
  
      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章