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


  • 相关阅读:
    20150603_Andriod 多个窗体数据回调
    onActivityResult传值的使用
    20150602_Andriod 向窗体传递参数
    20150601_Andriod 打开新窗体
    C# 添加.DLL 出错的解决方法
    c# 中crystal report输出PDF文件
    参考_Android中,如何新建一个界面,并且实现从当前界面切换到到刚才新建的(另外一个)界面
    andriod 新建 Activity_ Form (详细设置)
    sql in
    如何取得GridView被隐藏列的值
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6916229.html
Copyright © 2011-2022 走看看