BinarySearchTree

Run Settings
LanguageJava
Language Version
Run Command
class BinarySearchTree { Node root; class Node { Node left; Node right; int value; Node(int value) { this.value = value; } } BinarySearchTree() { root = null; } public boolean insert(int value) { Node newNode = new Node(value); if(root == null) { root = newNode; return true; } Node temp = root; while(true) { if(newNode.value == temp.value) { return false; } if(newNode.value < temp.value) { if(temp.left == null) { temp.left = newNode; return true; } temp = temp.left; } else if(newNode.value > temp.value) { if(temp.right == null) { temp.right = newNode; } temp = temp.right; } } } public boolean contains(int value) { if(root == null) { return false; } Node temp = root; while(temp!=null) { if(value < temp.value) { temp=temp.left; } else if(value > temp.value) { temp = temp.right; } else { return true; } } return false; } } class Main { public static void main(String[] args) { BinarySearchTree myBST = new BinarySearchTree(); myBST.insert(40); myBST.insert(20); myBST.insert(10); myBST.insert(30); System.out.println(myBST.contains(11)); } }
Editor Settings
Theme
Key bindings
Full width
Lines