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();
     }
    }
  • 相关阅读:
    剑指 Offer 25. 合并两个排序的链表
    53. 最大子序和 动态规划
    121. 买卖股票的最佳时机
    20. 有效的括号
    centos7 常用操作
    树莓派
    golang 学习笔记
    并发 线程 进程
    连接内网问题
    Lamp 高并发优化
  • 原文地址:https://www.cnblogs.com/wbwhy/p/12342029.html
Copyright © 2011-2022 走看看