2017-05-01 6 views
-1

皆さん、私は完全に立ち往生していることがあります。私は、私に与えられたリンクリストクラスに変換されなければならないバイナリツリークラスを持っています。私がそれをやろうと考えていたのは、ルートとリンクされたリストを渡し、リンクされたリストの先頭にルートをプッシュしてから、再びroot-> rightとroot-> leftの関数を呼び出して同じリンクされたリストを渡すので、更新されたままです。残念なことに、これは何らかの理由で関数に渡された最初のルートのみであるリンクされたリストになります。私の問題が何であるかについての提案はありますか?C++でバイナリツリーをリンクリストに変換する

+0

私たちに何かお役に立てない場合はお手伝いできません。 (コード、エラー、戻り値...) –

+0

バイナリツリートラバーサル、またはリンクリスト挿入関数のいずれかを修正しました。あなたのツリーを単にトラバースすることができず、各ノード上で 'linkedlist.add()'またはあなたが選んだ関数名を呼ぶだけで、どちらか一方または両方の機能がうまくいきませんでした。 – PaulMcKenzie

+0

見るべきコードがなくても、私のOrb of Seeingはあなたの問題が42行目であり、パニックにはならないと私に伝えています。 –

答えて

0

は、このルーチンに従ってください:

1:ツリー(使用後順トラバーサル)トラバース。

2:このトラバーサル方式で印刷/処理される最初のノードをリンクリストの先頭にしてから、このLLに続いてリーフに追加します。

+0

これを試していますが、正しく動作していないようです。私のリンクリストクラスは、リストの先頭にsomehtingを作る関数を持っていませんが、それはリンクリストの前に引数にあるものを置くpush_front関数を持っているので、これは私が使っているものです。リンクされたリストをどこで気にかけますか?私はそれが関数に引数として渡されているが、私はこれが私の間違いがあると思うかもしれないと思う – Joerob624

+0

*私のリンクリストクラスは、リストの先頭にsomehtingを作る関数を持っていませんが、リンクされたリストの前の引数で、* - 私は分かりません - リストの先頭にアイテムを置くことは**それをリストの先頭にします。また、リンクされたリストを別の関数に渡すことができない場合、その関数の機能に関係なく、リンクされたリストは何ですか?まず、あなたの "リンクされたリスト"は何ですか?それは本格的なリンクリストクラスですか、それとも非独立のコードですか? – PaulMcKenzie

+0

本格的なリンクリストクラスです。その音によって、私の関数は機能しているはずですが、何らかの理由でリンクされたリストに1つの項目しか入れていません。 – Joerob624

関連する問題