zoukankan      html  css  js  c++  java
  • java——二叉树的实现

    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();
     }
    }
  • 相关阅读:
    面试题链接
    75 道 BAJT 高级 Java 面试题,你能答上几道?
    使用UML描述需求都实现的过程
    java面试题(下)
    golang中goconfig包使用解析
    golang中sublime text中配置goimports
    golang中new和make区别
    golang中并发sync和channel
    使用go build 进行条件编译
    golang中time包用法
  • 原文地址:https://www.cnblogs.com/wbwhy/p/12342029.html
Copyright © 2011-2022 走看看