package list;
/**
* @author jiaxun
*/
public class BinaryTree {
private Node root;
public BinaryTree() {
root = null;
}
public void insert(int value) {
if (root == null) {
root = new Node(value);
} else {
Node newNode = new Node(value);
Node curr = root;
Node prev = null;
boolean right = true;
while (curr != null) {
prev = curr;
if (curr.getData() > value) {
curr = curr.getRight();
right = true;
} else if (curr.getData() < value) {
curr = curr.getLeft();
right = false;
} else {
prev = null;
break;
}
}
if (prev != null) {
if (right) {
prev.setRight(newNode);
} else {
prev.setLeft(newNode);
}
}
}
}
public boolean isEmpty() {
return root == null;
}
private static class Node {
int data;
Node left;
Node right;
public Node(int data) {
this.data = data;
}
public int getData() {
return data;
}
public Node getLeft() {
return left;
}
public void setLeft(Node left) {
this.left = left;
}
public Node getRight() {
return right;
}
public void setRight(Node right) {
this.right = right;
}
}
}