package com.oneflyingleaf.util; public class BinaryTreeNode { private Object data; private BinaryTreeNode left; private BinaryTreeNode right; public Object getData() { return data; } public void setData(Object data) { this.data = data; } public BinaryTreeNode getLeft() { return left; } public void setLeft(BinaryTreeNode left) { this.left = left; } public BinaryTreeNode getRight() { return right; } public void setRight(BinaryTreeNode right) { this.right = right; } public BinaryTreeNode insert(Object o){ if(! (o instanceof Comparable)){ throw new RuntimeException("未实现Comparable接口"); } Comparable<Object> temp = (Comparable<Object>)o; if(temp.compareTo(data) > 0){ if(right == null){ right= new BinaryTreeNode(); right.data = o; }else{ right.insert(o); } } if(temp.compareTo(data) <= 0){ if(left == null){ left = new BinaryTreeNode(); left.data = o; }else{ left.insert(o); } } return this; } }