package com.gkd.qdsx.day13;
public class BinaryTree {
private Node root;
public void add(Comparable data){
if(root == null){
root = new Node(data);
}else{
root.addNode(data);
}
}
public void print(){
root.printNode();
System.out.println();
}
class Node{
private Comparable data;//数据
private Node left;//左子树的引用
private Node right;//右子树的引用
public Node(Comparable data) {
this.data = data;
}
public void printNode() {
if(this.left != null){
this.left.printNode();
}
System.out.print(this.data + "-->");
if(this.right!=null){
this.right.printNode();
}
}
public void addNode(Comparable data) {
if(this.data.compareTo(data) > 0){
if(this.left == null){
this.left = new Node(data);
}else{
this.left.addNode(data);
}
}else if(this.data.compareTo(data) <= 0){
if(this.right == null){
this.right = new Node(data);
}else{
this.right.addNode(data);
}
}
}
}
public static void main(String[] args) {
BinaryTree bt = new BinaryTree();
bt.add(5);
bt.add(6);
bt.add(1);
bt.add(2);
bt.add(3);
bt.add(45);
bt.add(90);
bt.add(7);
bt.add(35);
bt.add(56);
bt.print();
}
}
运行结果图