2016-11-23 1 views
0

私はJavaにとって非常に新しいので、他のすべての検索で私の質問よりも複雑なものにつながるので、私はこれについてどうやって行くのだろうかと思っていましたか?私は、ツリーノードが、親、左、右、およびデータのフィールドで構成されていることを望みます。4つの値が割り当てられた複数のツリーノードのノードクラスを定義するにはどうすればよいですか?

+0

質問に関連するのは1つの文だけです。詳細を追加してください。 – mmushtaq

答えて

0

は、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>を実行して、やその他のツリー機能を実行するときにオブジェクトを簡単に比較できるようにします。

+0

複数のツリーノードを作成するには、上記のコードの後に​​別のノード名を付けて書き直すだけです。例えば。ノード1? –

+0

これらのノードの変数を作成する場合は、 'Node node1 = new Node(...)、Node node2 = new Node(...)'などのようにしたいでしょう。 しかし、あなたは 'BinaryTree'を作っています。ルートノード(より多くのノードを指す)を保持する' public class BinaryTree'を作成し、 'insert、delete、search'メソッドをいくつか用意することを強くお勧めします。 完全なものの実装へのリンクは次のとおりです。http://stackoverflow.com/a/9955083/1327636 – user123

関連する問題