package week01;
public class BinaryTree {
class BinaryTreeNode {
private int data;
private BinaryTreeNode left = null;
private BinaryTreeNode right = null;
public BinaryTreeNode(int data){
this.data = data;
}
}
//前序遍历
private BinaryTreeNode root;
public void preorder(BinaryTreeNode bt){
if(bt!=null)
{
getData(bt);
preorder(bt.left);
preorder(bt.right);
}
}
public int getData(BinaryTreeNode bt){
preorder(bt);
return bt.data;
}
public void setData(int data) {
BinaryTreeNode newadd = new BinaryTree.BinaryTreeNode(data);
Insert(newadd,data);
}
public BinaryTreeNode getLeft(BinaryTreeNode bt) {
preorder(bt);
return bt.left;
}
//public void setLeft(BinaryTreeNode left) {
// this.left = left;
//}
public BinaryTreeNode getRight(BinaryTreeNode bt) {
preorder(bt);
return bt.right;
}
//public void setRight(BinaryTreeNode right) {
// this.right = right;
//}
public boolean Insert(BinaryTreeNode bt,int data){
if(bt == null){
bt.data = data;
return true;
}
else{
if(data==bt.data)
{
System.out.println("The data has already exist");
return false;}
else if(data < bt.data){
return Insert(bt.left,data);
}else return Insert(bt.right,data);
}
}
public BinaryTreeNode Search(BinaryTreeNode root, int data){
if(root==null){
//throw new IllegalArgumentException("The Tree is Empty "+root.data);
System.out.println("The Tree is an empty tree.");
return root;
}else{
if(root.data==data)
{return root;}
else if(data>root.data)
{return Search(root.right,data);}
else
{return Search(root.left,data);}
}
}
}