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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

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

Processing
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,104 views