栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于二叉树的遍历Java

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于二叉树的遍历Java

基于前面一篇的基本二叉树的创建实现的二叉树的遍历

节点类

public class TreeNode {
    //在这个类中 创建 相应的类的节点
    //节点的权
    int value;
    //声明相对应的左节点以及右节点

    TreeNode  lNode;
    TreeNode  rNode;
    public TreeNode(int value ){
        this.value=value;
    }

    public void setlNdoe(TreeNode  lNdoe){
        this.lNode=lNdoe;

    }

    //设置右节点的指向
    public void setrNdoe(TreeNode  rNdoe){
        this.rNode=rNdoe;

    }

    public void frontShow() {
        System.out.println(value);
        if(lNode!=null){
            lNode.frontShow();
        }
        if (rNode!=null){
            rNode.frontShow();
        }
    }

    public void centershow() {
        if(lNode!=null){
            lNode.centershow();
        }
        System.out.println(value);
        if (rNode!=null){
            rNode.centershow();
        }
    }

    public void lastShow() {
        if (lNode!=null){
            lNode.lastShow();
        }
        if(rNode!=null){
            rNode.lastShow();
        }
        System.out.println(value);
    }
}

树类

public class Tree {
    TreeNode root;

    //设置跟节点
    public void setRoot(TreeNode root){
        this.root=root;
    }
    //获取根节点
    public TreeNode getRoot(){
        return root;
    }

    public void frontShow() {
        root.frontShow();
    }

    public void centerShow() {
        root.centershow();
    }

    public void lastShow() {
        root.lastShow();
    }
}

测试类

public class TestTree {
        public static void main(String[] args) {
            //创建了一棵树
            Tree tree =new Tree();

            //创建根节点
            TreeNode  root=new TreeNode(1);  //权值为1

            tree.setRoot(root);

            //创建一个左节点
            TreeNode rootLeft=new TreeNode(2);   //这是第二层的左节点
            //将节点放入到 根节点的左侧
            root.setlNdoe(rootLeft);

            //创建一个右节点
            TreeNode rootRight=new TreeNode(3);
            //将有右节点放入到根节点的右侧
            root.setrNdoe(rootRight);
            //第二层的左节点的左节点
            TreeNode  l1=new TreeNode(4);
            rootLeft.setlNdoe(l1);
            //第二层的左节点的右节点
            TreeNode  l2=new TreeNode(5);
            rootLeft.setrNdoe(l2);
            //实现相应的节点的添加
            rootRight.setlNdoe(new TreeNode(6));
            rootRight.setrNdoe(new TreeNode(7));

            //实现前序遍历
            tree.frontShow();
            System.out.println("以上是前序遍历");
            tree.centerShow();
            System.out.println("以上是中序遍历");
            tree.lastShow();
            System.out.println("以上是后序遍历");
        }
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271501.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号