[作業] 用兩個 Queue 來實作一個 Stack

看板C_and_CPP作者 (BedPotato)時間14年前 (2009/10/25 19:21), 編輯推噓2(206)
留言8則, 6人參與, 最新討論串1/1
//假設: Q[0] 為 Queue(Push/Pop/Total Function) // Q[1] 為 Queue(Push/Pop/Total Function) // //需求: 使用 Q[0], Q[1] 組出一個 S Stack(Push/Pop Function) // //--------------------------------------------------------------------- //[開始] //設定 MainQueue 為 Q[0] (以下把 MainQueue 簡寫為 MQ) // AuxQueue 為 Q[1] (以下把 AuxQueue 簡寫為 AQ) int j = 0; Queue Q[2]; Queue *MQ = Q + j, *AQ = Q + (j + 1)%2; //[ S Push Function ] - 從 S Push 1 Item //若 MQ 已滿 - // S Push Fail //否則 - // 步驟1. 做 MQ Push 1 Item MQ -> Push(/* new item */); //[ S Pop Function ] - 從 S Pop 1 Item //若 MQ 為空 - // S Pop Fail //否則 - // 步驟1. 從 MQ Pop (Total Item(s) Of MQ - 1) Item(s) 且依序做 AQ Push int i; for( i = 0; i < MQ.Total() - 1; ++i) AQ -> Push( MQ -> Pop() ); // 步驟2. 做 MQ Pop 1 Item item tmp = MQ -> Pop(); // 步驟3. 交換設定 MQ 為 AQ 而 AQ 為 MQ j = (j + 1)%2; *MQ = Q + j; *AQ = Q + (j + 1)%2; (僅供參考) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.224.131 ※ 編輯: qazplm 來自: 118.169.224.131 (10/25 19:22)

10/25 20:48, , 1F
不知道想表達什麼
10/25 20:48, 1F

10/25 20:50, , 2F
就...要程式碼啊
10/25 20:50, 2F

10/25 20:52, , 3F
所以是作業文
10/25 20:52, 3F

10/25 20:58, , 4F
問題標題,但是看不出問題在哪,請充實內文,之後解鎖 :)
10/25 20:58, 4F
補程式碼,改標題為作業 ※ 編輯: qazplm 來自: 118.169.224.131 (10/25 23:50)

10/26 00:15, , 5F
我很好奇為什麼問問題都不用版主弄好的格式...?
10/26 00:15, 5F

10/26 00:16, , 6F
連 [作業] 都出來了,果然是高手...
10/26 00:16, 6F

10/26 00:43, , 7F
小弟有點迷糊了, 這篇也是問題, 還是上面那篇的答案啊@@
10/26 00:43, 7F

10/26 02:18, , 8F
這篇是在回答 #1Av29xSm???
10/26 02:18, 8F
文章代碼(AID): #1Av3JHsL (C_and_CPP)