2017-02-25 1 views
-2

Javaで指定されたバイナリツリーを印刷する方法は?以下の私のコードです:javaで与えられた入力バイナリツリーを表示して表示する方法は?

JAVAコード:

import java.util.Scanner; 

public class binaryexpample1 { 

public static void main(String[] args){ 

     BinaryTree bt = new BinaryTree(); 
     Scanner input = new Scanner(System.in); 

     int x1 = input.nextInt(); 
     BNode root = bt.addRoot(x1); 
     int x2 = input.nextInt(); 
     BNode y1 = bt.insertLeft(root,x2); 
     int x3 = input.nextInt(); 
     BNode y2 = bt.insertRight(root,x3); 
     int x4= input.nextInt(); 
     BNode y3 = bt.insertLeft(y1,x4); 
     int x5 = input.nextInt(); 
     BNode y4 = bt.insertRight(y1,x3); 
     int x6 = input.nextInt(); 
     BNode y5=bt.insertLeft(y2,x6); 
     int x7= input.nextInt(); 
     BNode y6 = bt.insertRight(y2,x7); 
     int x8 = input.nextInt(); 
     system.out,println() 
    } 
} 

これを実装する方法を提案してください。

+2

最初にできることは、ここからコンマを取り出し、あなたのsystem.out.println()にピリオドを入れることです。次に、かっこの間に実際に何かを入れてみてください。 – RSon1234

答えて

0

それは左側を下に行くことですどのようにインオーダートラバーサル作品ので、

inOrder(bt.root); 

のようにそれを呼び出す

public void inOrder(BNode root) { 
    if(root == null) { 
     return; 
    } 
    inOrder(root.left); 
    System.out.println(root.value); 
    inOrder(root.right); 
} 

そして、あなたのメインでは、インオーダートラバーサルメソッドを使用しますinOrderを呼び出してノードのこれらの再帰呼び出しが終了すると、現在のノードの値/データが出力されます。その後、ノードの右側は、inOrderを何度も呼び出すことによってトラバースされます。

関連する問題