Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.27 KB | None | 0 0
  1. public class CreateBinarySearchTree {
  2.  
  3.     private TreeNode root;
  4.  
  5.     public CreateBinarySearchTree() {
  6.     }
  7.  
  8.     /**
  9.      * Will create a BST imperative on order of elements in the array
  10.      */
  11.     public CreateBinarySearchTree(int[] a) {
  12.         this();
  13.         for (int i : a) {
  14.             add(i);
  15.         }
  16.     }
  17.  
  18.     private static class TreeNode {
  19.         TreeNode left;
  20.         int item;
  21.         TreeNode right;
  22.  
  23.         TreeNode(TreeNode left, int item, TreeNode right) {
  24.             this.left = left;
  25.             this.right = right;
  26.             this.item = item;
  27.         }
  28.     }
  29.  
  30.     public void add(int item) {
  31.         if (root == null) {
  32.             root = new TreeNode(null, item, null);
  33.             return;
  34.         }
  35.  
  36.         TreeNode node = root;
  37.         while (true) {
  38.             if (item < node.item) {
  39.                 if (node.left == null) {
  40.                     node.left = new TreeNode(null, item, null);
  41.                     break;
  42.                 }
  43.                 node = node.left;
  44.             } else {
  45.                 if (node.right == null) {
  46.                     node.right = new TreeNode(null, item, null);
  47.                     break;
  48.                 }
  49.                 node = node.right;
  50.             }
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement