私はJavaにとって非常に新しいので、他のすべての検索で私の質問よりも複雑なものにつながるので、私はこれについてどうやって行くのだろうかと思っていましたか?私は、ツリーノードが、親、左、右、およびデータのフィールドで構成されていることを望みます。4つの値が割り当てられた複数のツリーノードのノードクラスを定義するにはどうすればよいですか?
答えて
は、Javaに新しいしているので、最も基本的な構造は次のようになります:あなたは、さらに一歩それを取ると、オブジェクト指向プログラミングについての詳細を知りたい場合は、私はgenerics.
になりpublic class Node {
private Node parent, left, right;
private Integer data;
public Node(Node parent, Node left, Node right, Integer data) {
this.parent = parent;
this.left = left;
this.right = right;
this.data = data;
}
public Node getParent() { return this.parent; }
public Node getLeft() { return this.left; }
public Node getRight() { return this.right; }
public Integer getData() { return this.data; }
public void setParent(Node parent) { this.parent = parent; }
public void setLeft(Node left) { this.left = left; }
public void setRight(Node right) { this.right = right; }
public void setData(Integer data) { this.data = data; }
}
これは、あなたがデータの特定のタイプに制限されないようにするNode<Integer>
、Node<String>
、Node<CustomClass>
を宣言できるようになります。 extend Comparable<T>
を実行して、やその他のツリー機能を実行するときにオブジェクトを簡単に比較できるようにします。
複数のツリーノードを作成するには、上記のコードの後に別のノード名を付けて書き直すだけです。例えば。ノード1? –
これらのノードの変数を作成する場合は、 'Node node1 = new Node(...)、Node node2 = new Node(...)'などのようにしたいでしょう。 しかし、あなたは 'BinaryTree'を作っています。ルートノード(より多くのノードを指す)を保持する' public class BinaryTree'を作成し、 'insert、delete、search'メソッドをいくつか用意することを強くお勧めします。 完全なものの実装へのリンクは次のとおりです。http://stackoverflow.com/a/9955083/1327636 – user123
- 1. 割り当てられたルールに基づいて複数のファイルを1つのファイルに要約するにはどうすればよいですか?
- 2. JavaScriptの値は未定義で、値が割り当てられた後に関数が実行されます
- 3. このように割り当てられたメモリの割り当てを解除するにはどうすればいいですか?A&o = *(new A)?
- 4. 2つの値を割り当てるメソッドを抽出するにはどうすればよいですか?
- 5. スカラーのタプル内の整数に値を割り当てるにはどうすればよいですか?
- 6. 1つのdeleteステートメントで複数の動的に割り当てられた配列を削除するにはどうすればよいですか?
- 7. Perl grep関数を使用して変数にnull値が割り当てられないようにするにはどうすればよいですか?
- 8. 変数と割り当て/デフォルト値のリストを取得するにはどうすればよいですか?
- 9. 複数の値を持つ配列を定義するにはどうすればよいですか?
- 10. XSL:XML要素の値を変数に割り当てるにはどうすればよいですか?
- 11. Laravel 5.3の変数にレコード値を割り当てるにはどうすればよいですか?
- 12. 値に大きな数値を割り当てるにはどうすればよいですか?
- 13. この関数にはパラメータの値がどのように割り当てられていますか?
- 14. ローカル変数に割り当てられた値がアンダーライン4で未定義になった
- 15. 割り当てられた値がC#のint max値より大きい場合、整数値はどのように決定されますか?
- 16. Sitecore - アイテムに割り当てられたプロフィールカードを削除するにはどうすればよいですか?
- 17. RPCサーバーに割り当てられたメモリを解放するにはどうすればよいですか?
- 18. ... nullで、割り当てられていませんが、割り当てられているようですか?
- 19. ローカル変数として宣言されたオブジェクトがスタックに割り当てられないようにするにはどうすればよいですか?
- 20. Soley Studioのメタモデルで、別のノードクラスを拡張するノードクラスを定義するにはどうすればよいですか?
- 21. Java HashMap複数の値が割り当てられた複数のキーフレキシブル
- 22. 複数の「id」を1つのjavascriptコードで定義するにはどうすればよいですか?
- 23. この変数はどのように割り当てられますか?
- 24. autohotkeyで割り当てられたホットキーを削除するにはどうすればいいですか?
- 25. Wordpress:定義された変数から割り当てられたデータ値を取得する
- 26. ブートストラップテーブルのツールチップに値を割り当てるにはどうすればよいですか?
- 27. クリックしたボタンの値を割り当てるにはどうすればいいですか
- 28. は、どのように今、ヒープ割り当てられたVAR
- 29. 1つの変数に複数の文字が割り当てられたJava
- 30. キーと値のペアを正しく割り当てるにはどうすればよいですか?
質問に関連するのは1つの文だけです。詳細を追加してください。 – mmushtaq