• 二叉树实例


    public class BinaryTree {
        class Node {                                        //声明一个节点类
            private Comparable data;                        //保存具体内容
            private Node left;                                //保存左子树
            private Node right;                                //保存右字数
            private Node(Comparable data) {
                this.data=data;
            }
            /**
             * 添加方法
             */
            public void addNOde(Node newNode){
                if(newNode.data .compareTo(this.data)<0){
                    if(this.left == null){
                        this.left=newNode;                    //放在左子树
                    }else{
                        this.left.addNOde(newNode);
                    }
                }else{
                    if(this.right == null){                    //放在右子树
                        this.right=newNode;
                    }else{
                        this.right.addNOde(newNode);
                    }
                }
            }
            /**
             * 输出信息,输出时采用中序遍历
             */
            public void printNode(){
                if(this.left!=null){
                    this.left.printNode();                    //先输出左子树
                }
                System.out.print(this.data +"	");
                if(this.right != null){                        //再输出右子数
                    this.right.printNode();
                }
            }
        }
        private Node root ;                                    //根元素
        /**
         * 添加的方法
         */
        public void add(Comparable data){
            Node newNode = new Node(data);                    //每传入一个新的内容,就声明一个节点
            if(root == null){
                root = newNode;                                //如果是第一个元素,设置成根节点
            }else{
                root.addNOde(newNode);                        //确定节点是放在左面还是右面
            }
        }
        /**
         * 打印方法
         */
        public void print (){
            if(this.root!=null){                            //数据不为空 ,输出内容
                this.root.printNode();
            }
        }
    }
  • 相关阅读:
    git
    composer
    laravel saas
    算法模板-01背包
    GMP-C/C++(大数库)使用方法
    算法模板-容斥原理
    算法模板-欧拉函数
    算法模板-素数判断/素数筛法
    算法模板-质因数分解
    算法模板-快速幂取模
  • 原文地址:https://www.cnblogs.com/ak666/p/8073987.html
Copyright © 2020-2023  润新知