package com.jtlyuan;
class BinaryTreeNode {
int data;
private BinaryTreeNode leftTree;
private BinaryTreeNode rightTree;
public BinaryTreeNode(int data) {
super();
this.data = data;
}
public void add(BinaryTreeNode node) {
if (node.data <= this.data) {
if (this.leftTree ==null) {
this.leftTree = node;
} else {
this.leftTree.add(node);
}
} else {
if (this.rightTree ==null) {
this.rightTree = node;
} else {
this.rightTree.add(node);
}
}
}
public void printlNode(){
if(this.leftTree!=null){
this.leftTree.printlNode();
}
System.out.print(this.data+" ");
if(this.rightTree!=null){
this.rightTree.printlNode();
}
}
}
public class BinaryTree {
BinaryTreeNode root;
public void addNode(BinaryTreeNode newNode) {
if (root == null) {
root = newNode;
} else {
root.add(newNode);
}
}
//必须要用中序遍历
public void print(){
root.printlNode();
}
public static void main(String[] args) {
BinaryTree bt = new BinaryTree();
bt.addNode(new BinaryTreeNode(5));
bt.addNode(new BinaryTreeNode(35));
bt.addNode(new BinaryTreeNode(65));
bt.addNode(new BinaryTreeNode(55));
bt.addNode(new BinaryTreeNode(6));
bt.addNode(new BinaryTreeNode(3));
bt.addNode(new BinaryTreeNode(21));
bt.addNode(new BinaryTreeNode(41));
bt.addNode(new BinaryTreeNode(29));
bt.addNode(new BinaryTreeNode(4));
bt.addNode(new BinaryTreeNode(1));
bt.addNode(new BinaryTreeNode(1));
bt.print();
}
}
/*1 1 3 4 5 6 21 29 35 41 55 65*/