9、数据结构之二叉树实现
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a12f06590b13aaead44fe5e94c6d3a68.png#pic_center)
public class BinaryTreeDome {
public static void main(String[] args) {
BinaryTree bt=new BinaryTree();
bt.add(8);
bt.add(4);
bt.add(3);
bt.add(10);
bt.add(15);
bt.add(11);
bt.add(1);
bt.add(5);
bt.print();
}
}
public class BinaryTree {
private Node root;
public void add(int data) {
if(root==null) {
root=new Node(data);
}else {
root.addNode(data);
}
}
public void print() {
root.printNode();
}
private class Node{
private int data;
private Node left;
private Node right;
public Node(int data) {
this.data=data;
}
public void addNode(int data) {
if(this.data>data) {
if(this.left==null) {
this.left=new Node(data);
}else {
this.left.addNode(data);
}
}else {
if(this.right==null) {
this.right=new Node(data);
}else{
this.right.addNode(data);
}
}
}
public void printNode() {
if(this.left!=null) {
this.left.printNode();
}
System.out.print(this.data+"->");
if(this.right!=null) {
this.right.printNode();
}
}
}
}