zoukankan      html  css  js  c++  java
  • 二叉数实现方法 非常绕的一个方法 递归

    //构造类

    package com.zw.binary;


    public class BinaryTree {
       
        private Node root;
        public void add(int data){
            if(root==null)
            {
                root=new Node(data);
            }
            else
            {
                root.add(data);
            }
        }
        
        public void print(){
            if(root!=null)
            {
               root.print();    
            }
        }
        
        //内部类
        class  Node{
            private int data;
            private Node left;
            private Node right;
            public Node(int data) {
                
                this.data = data;
            }
            
            public void add(int data){
                if(this.data>data)
                {
                    if(this.left==null)
                    {
                      this.left=new Node(data);    
                    }
                    else
                    {
                       left.add(data);
                    }
                    
                }
                else if(this.data<data){
                    if(this.right==null)
                    {
                      this.right=new Node(data);    
                    }
                    else
                    {
                        right.add(data);
                    }
                    
                }
            }
            
            public void print(){
                if(this.left!=null){
                    this.left.print();
                }
                System.out.print(this.data+" ");
                if(this.right!=null){
                    this.right.print();
                }
            }
            
        }

    }

    //測试类

    package com.zw.binary;

    public class BinaryTreeDemo {

        /**
         * @param args
         */
        public static void main(String[] args) {
            BinaryTree bt=new BinaryTree();
            bt.add(8);
            bt.add(3);
            bt.add(1);
            bt.add(6);
            bt.add(14);
            bt.add(4);
            bt.add(10);
            bt.add(7);
            bt.add(13);
            bt.print();
        }

    }

    //输出结果

    1 3 4 6 7 8 10 13 14


  • 相关阅读:
    设计模式之美学习-接口隔离原则(七)
    设计模式之美学习-里式替换原则(六)
    设计模式之美学习-开闭原则(五)
    设计模式之美学习-设计原则之单一职责(四)
    设计模式之美学习-如何进行面向对象设计(三)
    ffmpeg 从内存中读取数据(或将数据输出到内存)
    CImage 对话框初始化时候显示透明 PNG
    RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)
    RTMPdump(libRTMP) 源代码分析 8: 发送消息(Message)
    RTMPdump(libRTMP) 源代码分析 7: 建立一个流媒体连接 (NetStream部分 2)
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6916229.html
Copyright © 2011-2022 走看看