package foreachBinaryTree;
import java.util.Arrays;
import buildBinaryTree.BuildUseLinklist;
import buildBinaryTree.BuildUseLinklist.TreeNode;
public class ForeachBanaryTree {
public static void main(String[] args) {
int arr[] = { 7, 4, 1, 5, 16, 8, 11, 12, 15, 9, 2 };
BuildUseLinklist B = new BuildUseLinklist();
TreeNode RootNode = B.BuildBinaryTree(arr);
System.out.println("原数组:");
System.out.println(Arrays.toString(arr));
System.out.println("前序遍历");
ForeachBanaryTree.preOrder(RootNode);
System.out.println();
System.out.println("中序遍历");
ForeachBanaryTree.inOrder(RootNode);
System.out.println();
System.out.println("后序遍历");
ForeachBanaryTree.afterOrder(RootNode);
}
public static void afterOrder(TreeNode treenode) {
if (null!=treenode) {
afterOrder(treenode.Left_Node);
afterOrder(treenode.Right_Node);
System.out.print("[" + treenode.datavalue + "]"+" ");
}
}
public static void inOrder(TreeNode treenode) {
if (treenode != null) {
inOrder(treenode.Left_Node);
System.out.print("[" + treenode.datavalue + "]"+" ");
inOrder(treenode.Right_Node);
}
}
public static void preOrder(TreeNode treenode) {
if (null != treenode) {
System.out.print("[" + treenode.datavalue + "]"+" ");
preOrder(treenode.Left_Node);
preOrder(treenode.Right_Node);
}
}
}
二叉树的三种遍历方式,前序、中序和后序。
最新推荐文章于 2020-09-07 15:35:48 发布