Skip to main content
deleted 25 characters in body; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Create Creating a binary search tree, code review request

Ok, code reviewers, I want you to pick my code apart and give me some feedback on how I could make it better or more simplesimpler. Although, agree that generics should be used, instead of integers, letslet's punt on generics as a review for now.

Create a binary search tree, code review request

Ok, code reviewers, I want you to pick my code apart and give me some feedback on how I could make it better or more simple. Although, agree that generics should be used, instead of integers, lets punt on generics as a review for now.

Creating a binary search tree

I want you to pick my code apart and give me some feedback on how I could make it better or simpler. Although, agree that generics should be used, instead of integers, let's punt on generics as a review for now.

Source Link
JavaDeveloper
  • 8.5k
  • 29
  • 93
  • 162

Create a binary search tree, code review request

Ok, code reviewers, I want you to pick my code apart and give me some feedback on how I could make it better or more simple. Although, agree that generics should be used, instead of integers, lets punt on generics as a review for now.

public class CreateBinarySearchTree {

    private TreeNode root;
    
    public CreateBinarySearchTree() {
    }

    /**
     * Will create a BST imperative on order of elements in the array
     */
    public CreateBinarySearchTree(int[] a) {
        this();
        for (int i : a) {
            add(i);
        }
    }
    
    private static class TreeNode {
        TreeNode left;
        int item;
        TreeNode right;
       
        TreeNode(TreeNode left, int item, TreeNode right) {
            this.left = left;
            this.right = right;
            this.item = item; 
        }
    }
    
    public void add(int item) {
        if (root == null) {
            root = new TreeNode(null, item, null);
            return;
        }
        
        TreeNode node = root;
        while (true) {
            if (item < node.item) {
                if (node.left == null) {
                    node.left = new TreeNode(null, item, null);
                    break;
                }
                node = node.left;
            } else {
                if (node.right == null) {
                    node.right = new TreeNode(null, item, null);
                    break;
                }
                node = node.right;
            }
        }
    }
}