java实现树前序,中序,后序遍历

来源:互联网 发布:windows域的作用 编辑:程序博客网 时间:2024/05/19 09:39

树的前序,中序,后序的遍历:


代码:


package Tree;import java.util.Scanner;public class Demo1 {//树的遍历public static void main(String[] args) {Tree t1 = new Tree(1,null,null);Tree t2 = new Tree(2, t1, null);Tree t3 = new Tree(3, null, null);Tree t4 = new Tree(4, t2, t3);Tree t5 = new Tree(5, null, null);Tree t6 = new Tree(0, t4, t5);System.out.println("前序遍历结果(递归实现):");Demo1.PretraverseR(t6);System.out.println();System.out.println("中序遍历结果:");Demo1.IntraverserR(t6);System.out.println();System.out.println("后序遍历结果:");Demo1.PostraverserR(t6);}//前序遍历:042135(根,左,右)递归实现public static void PretraverseR(Tree h){if(h==null)return;h.visit();PretraverseR(h.left);PretraverseR(h.right);}//中序遍历:124305(左,根,右)public static void IntraverserR(Tree h){if(h==null)return;IntraverserR(h.left);h.visit();IntraverserR(h.right);}//后序遍历public static void PostraverserR(Tree h){if(h==null)return;PostraverserR(h.left);PostraverserR(h.right);h.visit();}public static class Tree{int val;Tree left;Tree right;public Tree(int val,Tree left,Tree right){this.val = val;this.left = left;this.right = right;}public Tree(){}public void visit(){System.out.print(val+" ");}}}



0 0
原创粉丝点击