Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Binary Search Tree insertion & inorder

Zulfi KhanApr 28 2016 — edited Apr 28 2016

Hi,

I have written a program to insert values in a binary search tree and print the values using inorder traversal. Following is my code:

class TreeNode{

   int data;

   TreeNode left;

   TreeNode right;

   TreeNode(int data1, TreeNode l, TreeNode r){

      data = data1;

      left = l;

      right =r;

   }

}

class bst1{

   TreeNode root;

   bst1( ) {

      root = null;

   }

 

   public static void main(String[ ] args){

       

        bst1 obj = new bst1();

  int[ ] arr= {90, 75, 10, 20, 30, 40, 50, 70};

        for(int i=0; i<8; ++i)

        obj.root= obj.insert(arr[i], obj.root);

        obj.inorder (obj.root);

   }

   TreeNode insert(int data, TreeNode t){

      if(t ==null) {

         t = new TreeNode(data, null, null);

      }

      else if(t.data<data){

         t.right = insert(t.data, t.right);

      }

      else

         t.left = insert(t.data, t.left);

      return t;

  }

    private void inorder(TreeNode r)

  {

  if(r !=null)

  {

  inorder(r.left);

  System.out.print(r.data +" ");

  inorder(r.right);

  }

       }

}


Can somebody please guide me what's the problem with my code. Its printing only the first node.

>javac bst1.java

>java bst1

90 90 90 90 90 90 90 90

>

Zulfi.

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on May 26 2016
Added on Apr 28 2016
1 comment
1,148 views