Advertisement
MnMWizard

Module 9 binary

May 12th, 2018
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.94 KB | None | 0 0
  1. //Mason Marnell
  2. //
  3.  
  4. class BinaryTree {
  5.     Node root;
  6.     public BinaryTree(String info)
  7.     {
  8.         root = new Node();
  9.         root.info = info;
  10.         root.left = null;
  11.         root.right = null;
  12.     }
  13.    
  14.     public void Add(String info)
  15.     {
  16.         Node currentnode = root;
  17.        
  18.         while(true)
  19.         {
  20.             if(currentnode.info.compareTo(info) > 0) // go left
  21.             {
  22.                 if(currentnode.left != null)
  23.                 {
  24.                     currentnode = currentnode.left;
  25.                     continue;
  26.                 }
  27.                 else
  28.                 {
  29.                     currentnode.left = new Node();
  30.                     currentnode = currentnode.left;
  31.                     currentnode.info = info;
  32.                     break;
  33.                 }
  34.                
  35.             }
  36.             else
  37.             {
  38.                 if(currentnode.right != null)
  39.                 {
  40.                     currentnode = currentnode.right;
  41.                     continue;
  42.                 }
  43.                 else
  44.                 {
  45.                     currentnode.right = new Node();
  46.                     currentnode = currentnode.right;
  47.                     currentnode.info = info;
  48.                     break;
  49.                 }
  50.             }
  51.         }
  52.     }
  53.      public void insert(String data)
  54.      {
  55.          root = insert(root, data);
  56.      }
  57.      /* Function to insert data recursively */
  58.      private Node insert(Node node, String data)
  59.      {
  60.          if (node == null)
  61.              node = new Node(data);
  62.          else
  63.          {
  64.              if(node.info.compareTo(data)>0)
  65.                  node.left = insert(node.left,data);
  66.              else
  67.                  node.right = insert(node.right, data);
  68.                          
  69.          }
  70.          return node;
  71.      }
  72.    
  73.      public void inorder()
  74.      {
  75.          inorder(root);
  76.      }
  77.      private void inorder(Node r)
  78.      {
  79.          if (r != null)
  80.          {
  81.              inorder(r.left);
  82.              System.out.print(r.info +" ");
  83.              inorder(r.right);
  84.          }
  85.      }
  86.  
  87.      public void reverseorder()
  88.      {
  89.          reverseorder(root);
  90.      }
  91.      private void reverseorder(Node r)
  92.      {
  93.          if (r != null)
  94.          {
  95.              inorder(r.right);
  96.              System.out.print(r.info +" ");
  97.              inorder(r.left);
  98.          }
  99.      }
  100.      
  101.      public void PreOrder()
  102.      {
  103.          PreOrder(root);
  104.      }
  105.      private void PreOrder(Node r)
  106.      {
  107.          if (r != null)
  108.          {
  109.              System.out.print(r.info +" ");
  110.              inorder(r.left);
  111.              inorder(r.right);
  112.          }
  113.      }
  114.      public void PosOrder()
  115.      {
  116.          PosOrder(root);
  117.      }
  118.      private void PosOrder(Node r)
  119.      {
  120.          if (r != null)
  121.          {
  122.              inorder(r.left);
  123.              inorder(r.right);
  124.              System.out.print(r.info +" ");
  125.          }
  126.      }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement