package com.company.code; public class BinaryTreeNode { private Comparable data; private BinaryTreeNode left; private BinaryTreeNode right; public Object getData() { return data; } public void setData(Object data) { this.data = (Comparable) 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(Comparable o){ BinaryTreeNode insercode=new BinaryTreeNode(); BinaryTreeNode compareNode=this; insercode.setData(o); while (null!=compareNode){ if(null==compareNode.getData()){ compareNode.setData(o); break; }else{ Comparable com= (Comparable) compareNode.getData(); int result=com.compareTo(o); if(result==0){ break; }else if (result>0){ if(null==compareNode.getLeft()){ compareNode.setLeft(insercode); break; } compareNode=compareNode.getLeft(); }else if(result<0){ if(null==compareNode.getRight()){ compareNode.setRight(insercode); break; } compareNode=compareNode.getLeft(); } } } return insercode; } }