2012-01-20 80 views
0

我正在完成此任務。將堆棧的值分配給另一個堆棧

我需要創建一個臨時堆棧而無需初始化它。

然後使用while循環將堆棧1的項目推入此臨時堆棧。

然後我需要使用另一個(嵌套?)環通過臨時堆行走,並添加從臨時堆疊的物品到堆2

然後我需要設置堆1和2相等,從而堆疊2具遺體不變。

+1

什麼是linkedStackType?爲什麼你不能複製?您已經複製到tmpStack。 – pezcode

+1

我需要修改這個問題。 –

+0

linkedstacktype是構造函數 –

回答

2

您的界面看起來有點不合適。讓我們從那裏開始,看看是否讓你過駝峯。

stack.top()通常在物品上偷看,但不刪除它。這對於從一個堆棧轉移到另一個堆棧似乎並不有用。您已經有了isEmptyStack()來檢查頂層元素是否存在。

stack.pop()通常從堆疊中取出頂部物品。這對於傳輸聽起來很有用。

stack.push(item)將項目放置到堆棧頂部。這對於傳輸聽起來很有用。

stack.push()只是似乎錯了。推什麼?

希望一旦你實現了這些方法,其餘的將從你提供的問題的英文描述開始有意義。

更新:這是你想要什麼:現在

|a | |  | | |  | | |  | |c | 
|b | |  |b | |  | |b |  | |b | 
|c | |  |c |a |  |c |a |  | |a | 
1 tmp 2  1 tmp 2  1 tmp 2  1 tmp 2 

| | |  | | |  | | |a 
| |b |  | | |b | | |b 
| |a |c | |a |c | | |c 
1 tmp 2  1 tmp 2  1 tmp 2 

,只有推,POP和IsEmptyStack,沒有分配堆棧彼此的(那種失敗的轉讓的目的),你能做這個嗎?

+0

模板空隙 transferStack(linkedStackType &棧1, linkedStackType &stack2中) { \t類型項; linkedStackType tmpStack = stack1; \t while(stack1.isEmptyStack()== false) { item = stack1.top(); stack1.push(item); } tmpStack = stack1; (stack1.isEmptyStack()== False) { \t item = stack1.top(); \t stack2.push(item); } stack1 = stack2; –

+0

如何在代碼格式中添加註釋? –

+0

@OurFamilyPage:你沒有。隨意更新您的問題與代碼發佈,也許用「更新:...」行來解釋。 – ccoakley