Hi I've implemented a Binary search tree in java. It enters data fine. But it throws a Nullpointer exception when attempt to search. Please point where I am wrong. thanks in Advance...
class Node{
int data;
Node leftChild;
Node rightChild;
}
Follwing is my main method and both search and insert methods..
public class Main {
Node root;
public static void main(String[] args) {
Main main=new Main();
main.insert(15);
main.insert(12);
main.insert(9);
main.search(12);
}
void insert(int data){
Node node=new Node();
node.data=data;
if(root==null){
root=node;
System.out.println("Root node created: "+root.data);
}else{
Node current=root;
Node parent=null;
while(true){
parent=current;
if(parent.data>data){
current=parent.leftChild;
if(current==null){
current=node;
System.out.println("Created node: "+current.data);
break;
}
}else{
current=parent.rightChild;
if(current==null){
current=node;
System.out.println("Created node: "+current.data);
break;
}
}
if(current==null){
break;
}
}
}
}
Node search(int data){
Node current=root;
if(root==null){
System.out.println("Empty binary tree");
}else{
while(current.data!=data){
if(current.data>data){
current=current.leftChild;
}else{
current=current.rightChild;
}
if(current==null){
break;
}
}
System.out.print("Data item Found :"+current.data);
}
return current;
}
}