码迷,mamicode.com
首页 > 编程语言 > 详细

java——二叉树的实现

时间:2020-02-21 18:31:35      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:node   int()   增加节点   system   递归调用   new   private   str   vat   

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——二叉树的实现

标签:node   int()   增加节点   system   递归调用   new   private   str   vat   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!