zoukankan      html  css  js  c++  java
  • 用java语言编写的简单二叉树

    package com.cjonline.foundation.evisa;
    
    public class TestTree {
    
        private int data=-1;
        private TestTree lchild=null;
        private TestTree rchild=null;
        private int pos=-1;    //记录当前已经使用数组的位置
        
        /*
         * 构造二叉树
         */
        public TestTree createTree(TestTree tree,int[] data){
            if(data == null || data.length<1)
                return null;
            tree = new TestTree();
            pos++;
            if(pos<data.length && data[pos]!=-1){
                tree.data=data[pos];
                tree.setLchild(createTree(lchild,data));//设置左孩子
                tree.setRchild(createTree(rchild,data));//设置右孩子
            }
            return tree;
        }
        /*
         * 前序遍历
         */
        public void print(TestTree t){
            if(t!=null && t.getData()!=-1){
                System.out.print("    "+t.getData());
                print(t.getLchild());
                print(t.getRchild());
            }
        }
    
        @Override
        public String toString() {
            return "TestTree [data=" + data + "]";
        }
        public static void main(String[] args) {
            TestTree tree = new TestTree();
            int[] data =  {1,2,-1,-1,3,-1,-1};
            tree=tree.createTree(tree, data);
            System.out.println(tree);
            System.out.println(tree.getLchild());
            System.out.println(tree.getRchild());
            tree.print(tree);
        }
    
        /**  
         * 获取data  
         * @return 
         */
        public int getData() {
            return data;
        }
    
        /** 
         * 设置 data 
         * @param data 
         */
        public void setData(int data) {
            this.data = data;
        }
    
        /**  
         * 获取lchild  
         * @return 
         */
        public TestTree getLchild() {
            return lchild;
        }
    
        /** 
         * 设置 lchild 
         * @param lchild 
         */
        public void setLchild(TestTree lchild) {
            this.lchild = lchild;
        }
    
        /**  
         * 获取rchild  
         * @return 
         */
        public TestTree getRchild() {
            return rchild;
        }
    
        /** 
         * 设置 rchild 
         * @param rchild 
         */
        public void setRchild(TestTree rchild) {
            this.rchild = rchild;
        }
    
        /**  
         * 获取pos  
         * @return 
         */
        public int getPos() {
            return pos;
        }
    
        /** 
         * 设置 pos 
         * @param pos 
         */
        public void setPos(int pos) {
            this.pos = pos;
        }
    
    }
  • 相关阅读:
    Zuul
    熔断机制
    跨域问题
    过滤器
    从Ftp下载某一文件夹下的所有文件(三)
    java操作Ftp文件的一些方式(一)
    Java代码实现FTP单个文件下载(二)
    一些order
    Spring Boot
    利用dubbo服务对传统工程的改造
  • 原文地址:https://www.cnblogs.com/lbangel/p/3334424.html
Copyright © 2011-2022 走看看