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


  • 相关阅读:
    HTTP状态码的详细解释,供参考
    js中实现页面跳转(返回前一页、后一页)
    CRUD工程师——基础容器LinkedList
    CRUD工程师——基础容器ArrayList
    Servlet入门
    Linux
    flex弹性布局
    div布局
    递归函数
    运算符
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6916229.html
Copyright © 2011-2022 走看看