2012-01-20 16 views
0

私はこの割り当てを行っています。スタックの値を別のスタックに割り当てます。

初期化せずに一時スタックを作成する必要があります。

そしてwhileループを使用して、この一時的なスタックにスタック1のアイテムをプッシュします。

そして私は2つの残っスタックそしてIは、スタック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 

今、ちょうど押すと、ポップ、およびIsEmptyStack、互いにスタックの無割り当て(敗北のその種譲渡の目的)と、あなたはこれができますか?

+0

テンプレート 空隙transferStack(linkedStackType &stack1、 linkedStackType &stack2) {\tタイプのアイテム。 linkedStackType tmpStack = stack1; \t一方(stack1.isEmptyStack()== false)を {アイテム= stack1.top()。 stack1.push(item); } tmpStack = stack1; 一方(stack1.isEmptyStack()== false)を {\tアイテム= stack1.top()。 \t stack2.push(item); } stack1 = stack2; –

+0

コメントはここでコード形式で入力しますか? –

+0

@OurFamilyPage:あなたはしません。コードの投稿で質問を更新してください。おそらく、 "更新された:..."という行で説明してください。 – ccoakley

関連する問題