/*�������ƣ� * ԭ�ļ����ƣ� * Ҫ�㣺 * 1. ʵ�ֻ��������ݽṹ�ࣺ������ */ public class BinaryTreeNode_self<T> { private T data; private BinaryTreeNode_self<T> left; private BinaryTreeNode_self<T> right; //��ȡ�ڵ����� public T getData(){ return data; } //���ýڵ����� public void setData(T item){ this.data=item; } //��ȡ��ڵ������ public BinaryTreeNode_self<T> getLeft(){ return left; } //������ڵ������ public void setLeft(BinaryTreeNode_self<T> left){ this.left=left; } //��ȡ�ҽڵ������ public BinaryTreeNode_self<T> getRight(){ return right; } //�����ҽڵ������ public void setRight(BinaryTreeNode_self<T> right){ this.right=right; } //���ӽڵ�(��֤��ڵ�<���ڵ�<�ҽڵ�) public BinaryTreeNode_self<T> insert(T item){ Comparable<T> co=(Comparable<T>)item; Comparable coData=(Comparable)data; BinaryTreeNode_self result=null; if(co.compareTo(data)>0){ if(right==null){ right=new BinaryTreeNode_self<>(); right.data=item; result=right; return result; } else{ right.insert(item); } } else{ if(left==null){ left=new BinaryTreeNode_self<>(); left.data=item; result=left; return result; } else{ left.insert(item); } } return result; } }