MnMWizard icon

Module 9 binary

MnMWizard | PRO | 05/12/18 05:43:14 PM UTC | 0 ⭐ | 453 👁️ | Never ⏰ | []
Java |

2.94 KB

|

None

|

0 👍

/

0 👎

//Mason Marnell
//
 
class BinaryTree {
    Node root;
    public BinaryTree(String info)
    {
        root = new Node();
        root.info = info;
        root.left = null;
        root.right = null;
    }
    
    public void Add(String info)
    {
        Node currentnode = root;
        
        while(true)
        {
            if(currentnode.info.compareTo(info) > 0) // go left
            {
                if(currentnode.left != null)
                {
                    currentnode = currentnode.left;
                    continue;
                }
                else
                {
                    currentnode.left = new Node();
                    currentnode = currentnode.left;
                    currentnode.info = info;
                    break;
                }
                
            }
            else
            {
                if(currentnode.right != null)
                {
                    currentnode = currentnode.right;
                    continue;
                }
                else
                {
                    currentnode.right = new Node();
                    currentnode = currentnode.right;
                    currentnode.info = info;
                    break;
                }
            }
        }
    }
     public void insert(String data)
     {
         root = insert(root, data);
     }
     /* Function to insert data recursively */
     private Node insert(Node node, String data)
     {
         if (node == null)
             node = new Node(data);
         else
         {
             if(node.info.compareTo(data)>0)
                 node.left = insert(node.left,data);
             else
                 node.right = insert(node.right, data);
                          
         }
         return node;
     } 
    
     public void inorder()
     {
         inorder(root);
     }
     private void inorder(Node r)
     {
         if (r != null)
         {
             inorder(r.left);
             System.out.print(r.info +" ");
             inorder(r.right);
         }
     }
 
     public void reverseorder()
     {
         reverseorder(root);
     }
     private void reverseorder(Node r)
     {
         if (r != null)
         {
             inorder(r.right);
             System.out.print(r.info +" ");
             inorder(r.left);
         }
     }
     
     public void PreOrder()
     {
         PreOrder(root);
     }
     private void PreOrder(Node r)
     {
         if (r != null)
         {
             System.out.print(r.info +" ");
             inorder(r.left);
             inorder(r.right);
         }
     }
     public void PosOrder()
     {
         PosOrder(root);
     }
     private void PosOrder(Node r)
     {
         if (r != null)
         {
             inorder(r.left);
             inorder(r.right);
             System.out.print(r.info +" ");
         }
     }
}

Comments