首页 > 编程语言 > 详细

java——二叉树的实现

时间:2020-02-21 17:28:33      阅读:39      评论:0      收藏:0      [点我收藏+]
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;
   }
  
   private 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);
     }
    }
   
   
   }
   private void printNode()
   {
    if(this.left!=null)
    {
     this.left.printNode();
    }
    System.out.print(this.data+"->");
    if(this.right!=null)
    {
     this.right.printNode();
    }
   }
  
  }
}

public class Test {
 public static void main(String[] args)
 {
  //eg:8,10,4,6,12,90,13,3,7.
  BinaryTree bt = new BinaryTree();
  bt.add(8);
  bt.add(10);
  bt.add(4);
  bt.add(6);
  bt.add(12);
  bt.add(90);
  bt.add(13);
  bt.add(3);
  bt.add(7);
  bt.print();
 }
}

java——二叉树的实现

原文:https://www.cnblogs.com/wbwhy/p/12342029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!