2015-11-19 92 views
-4

我試圖解決下面的問題,但我是如此不確定Q.insert(S.top()) 下面的功能是這樣的問題:
填充示出了一系列的優先級隊列和堆棧操作的輸出表以及它們對 初始空白整數的優先級隊列Q和整數空棧S的影響。確保顯示您顯示的每個數據結構的 方向(即正面,背面,頂部,底部)。 (10p)堆棧和隊列用java

|操作|輸出|堆棧S |隊列Q |後方|前| |

Q.insert(9) 

Q.insert(11) 

Q.peek() 

S.push(8) 

Q.insert(S.top()) 

S.push(Q.remove()) 

Q.insert(Q.remove()) 

S.size() == Q.size() 
+1

你的問題是什麼? –

+1

我明白你想問什麼,但你的努力在哪裏? –

回答

0

假設隊列Q且堆棧小號是在這一系列的操作的開始空...

S.push(8) 

把1個元件的堆疊與值上「8」

S.top() 

然後返回 '8'

當調用像Q.insert(<param>)這樣的函數時,參數不一定是常數;它可能是一個變量或任何會產生正確類型參數的東西。

所以,如果你有方法,如

public void insert(int n); 
public int top(); // returns an int(eger) 

您可以撥打插入任一方式

int meaning = 42; 
Q.insert(10); 
Q.insert(meaning); 
Q.insert(Math.round(3.14)); // 'round' produces an int 

所以......

Q.insert(S.top()) 

插入 '8' 返回從S.top()進入隊列。