class TreeNode {
private int data;
private TreeNode Lchild;
private TreeNode Rchild;
TreeNode() {
Lchild = null;
Rchild = null;
}
TreeNode(int data) {
this.data = data;
Lchild = null;
Rchild = null;
}
TreeNode(int data, TreeNode left, TreeNode right) {
this.data = data;
this.Lchild = left;
this.Rchild = right;
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public TreeNode getLchild() {
return Lchild;
}
public void setLchild(TreeNode lchild) {
Lchild = lchild;
}
public TreeNode getRchild() {
return Rchild;
}
public void setRchild(TreeNode rchild) {
Rchild = rchild;
}
}
class BinTree {
private TreeNode root = new TreeNode();
public TreeNode getRoot() {
return root;
}
void insert(int d) {
if (root.getData() == 0) {
root.setData(d);
} else {
findPosition(root, d);
}
}
private void findPosition(TreeNode rootNode, int d) {
if (d < rootNode.getData()) {
if (rootNode.getLchild() == null) {
TreeNode lchild = new TreeNode(d);
rootNode.setLchild(lchild);
} else {
findPosition(rootNode.getLchild(), d);
}
} else if (d > rootNode.getData()) {
if (rootNode.getRchild() == null) {
TreeNode rchild = new TreeNode(d);
rootNode.setRchild(rchild);
} else {
findPosition(rootNode.getRchild(), d);
}
}
}
}
public class Tree {
public static void main(String args[]) {
BinTree tree = new BinTree();
tree.insert(3);
tree.insert(1);
tree.insert(2);
tree.insert(4);
tree.insert(5);
System.out.println(tree.getRoot());
}
}