package com.louisly.java;
import com.louisly.java.LYObject;
public class LYBinaryTree {
private LYBinaryTreeNode headerNode;
public void addObject(LYObject obj) {
if (headerNode == null) {
LYBinaryTreeNode node = new LYBinaryTreeNode();
node.data = obj;
headerNode = node;
return;
}
this.appendObject(headerNode, obj);
}
private void appendObject(LYBinaryTreeNode toNode, LYObject obj) {
if (obj.i > toNode.data.i) {
if (toNode.right != null) {
this.appendObject(toNode.right, obj);
} else {
LYBinaryTreeNode node = new LYBinaryTreeNode();
node.data = obj;
toNode.right = node;
}
} else {
if (toNode.left != null) {
this.appendObject(toNode.left, obj);
} else {
LYBinaryTreeNode node = new LYBinaryTreeNode();
node.data = obj;
toNode.left = node;
}
}
}
public static class LYBinaryTreeNode {
private LYObject data;
private LYBinaryTreeNode left;
private LYBinaryTreeNode right;
}
}