zoukankan      html  css  js  c++  java
  • Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历

    package com.example.demo;
    
    public class BTree {
        public int data;
        public BTree left;
        public BTree rigth;
    
        public boolean hasLeft(){
            return left != null;
        }
    
        public boolean hasRigth(){
            return rigth != null;
        }
    
        public BTree(){}
    }
    
    class main{
        public static void main(String[] args) {
            BTree root = new BTree();
            root.data = 0;
    
            BTree node1 = new BTree();
            node1.data = 1;
    
            BTree node2 = new BTree();
            node2.data = 2;
    
            BTree node3 = new BTree();
            node3.data = 3;
    
            BTree node4 = new BTree();
            node4.data = 4;
    
            BTree node5 = new BTree();
            node5.data = 5;
    
            BTree node6 = new BTree();
            node6.data = 6;
    
            root.left = node1;
            root.rigth = node2;
    
            node1.left = node3;
            node1.rigth = node4;
    
            node2.left = node5;
            node2.rigth = node6;
    
            System.out.println("先序遍历二叉树:");
            queryFirst(root);
            System.out.println();
    
            System.out.println("中序遍历二叉树:");
            queryMiddle(root);
            System.out.println();
    
            System.out.println("后序遍历二叉树:");
            queryLast(root);
            System.out.println();
        }
        //先序遍历二叉树
        public static void queryFirst(BTree tree){
            if(tree == null){
                return;
            }
            System.out.print(tree.data+"	");
            if(tree.hasLeft()){
                queryFirst(tree.left);
            }
            if(tree.hasRigth()){
                queryFirst(tree.rigth);
            }
        }
        //中序遍历二叉树
        public static void queryMiddle(BTree tree){
            if(tree == null){
                return;
            }
            if(tree.hasLeft()){
                queryMiddle(tree.left);
            }
            System.out.print(tree.data+"	");
            if(tree.hasRigth()){
                queryMiddle(tree.rigth);
            }
        }
        //后序便利二叉树
        public static void queryLast(BTree tree){
            if(tree == null){
                return;
            }
            if(tree.hasLeft()){
                queryLast(tree.left);
            }
            if(tree.hasRigth()){
                queryLast(tree.rigth);
            }
            System.out.print(tree.data+"	");
        }
    }
    先序遍历二叉树:
    0    1    3    4    2    5    6    
    中序遍历二叉树:
    3    1    4    0    5    2    6    
    后序遍历二叉树:
    3    4    1    5    6    2    0
  • 相关阅读:
    第三次作业
    读大道至简第三章有感
    AlphaMobileControls介绍
    wince下GetManifestResourceStream得到的Stream是null的解决
    Wince下实现ImageButton
    windows phone 8的新特性
    没有开发者账号,如何解锁wp8设备
    windows phone8手机玩玩
    windows phone7开发环境配置错误
    如何解决office2007每次打开都要正在配置
  • 原文地址:https://www.cnblogs.com/i-tao/p/11461014.html
Copyright © 2011-2022 走看看