zoukankan      html  css  js  c++  java
  • 二叉树遍历Java实现

    【仅贴代码及测试结果】

    -------------------BinaryTree.java------------------------------

    class Tree<E>{
        E element;
        Tree<E> lChild;
        Tree<E> rChild;
        public Tree(E e){
            element = e;
        }
    }
    public class BinaryTree {
    
        /**
         * 树形如下:
         *         1
         *     / 
         *    2   3
         *       / 
         *     4  5  6
         */    
        public static void main(String[] args) {
    
            Tree<Integer> n1 = new Tree<Integer>(1);
            Tree<Integer> n2 = new Tree<Integer>(2);
            Tree<Integer> n3 = new Tree<Integer>(3);
            Tree<Integer> n4 = new Tree<Integer>(4);
            Tree<Integer> n5 = new Tree<Integer>(5);
            Tree<Integer> n6 = new Tree<Integer>(6);
            System.out.println("Construct the tree...");
            n2.rChild=n4;
            n3.lChild=n5;
            n3.rChild=n6;
            n1.lChild=n2;
            n1.rChild=n3;
            
            System.out.println("打印先序遍历结果:");
            firstOrder(n1);
            System.out.println("
    打印中序遍历结果:");
            midOrder(n1);
            System.out.println("
    打印后序遍历结果:");
            lastOrder(n1);
        }
        
        public static <E> void firstOrder(Tree<E> root){
            if(root!=null){
                System.out.print(root.element+" ");
                firstOrder(root.lChild);
                firstOrder(root.rChild);
            }
        }
        public static <E> void lastOrder(Tree<E> root){
            if(root!=null){
                lastOrder(root.lChild);
                lastOrder(root.rChild);
                System.out.print(root.element+" ");
            }
        }
        public static <E> void midOrder(Tree<E> root){
            if(root!=null){
                midOrder(root.lChild);
                System.out.print(root.element+" ");
                midOrder(root.rChild);
            }
        }
    
    }

    输出结果:

    Construct the tree...
    打印先序遍历结果:
    1 2 4 3 5 6 
    打印中序遍历结果:
    2 4 1 5 3 6 
    打印后序遍历结果:
    4 2 5 6 3 1 
  • 相关阅读:
    centos安装composer
    fmt.Printf()
    php进程,线程,异步
    php异步处理
    php安装swoole扩展
    冒泡排序
    快速排序
    php的foreach指针
    无密钥登陆
    ubuntu18.04切换阿里云源
  • 原文地址:https://www.cnblogs.com/SeaSky0606/p/4739211.html
Copyright © 2011-2022 走看看