import java.util.LinkedList; import java.util.List; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年9月7日 上午11:09:36 des: */ class BinaryTree { // 定义二叉树的操作类 static int[] arr= {0,1,2,3,4,5,6,7,8,9}; private static class Node { Node left; Node right; int data; Node(int data){ this.left = null; this.right = null; this.data = data; } } public static void preTraverse(Node node){ if (node == null) return; System.out.print(" "+node.data); preTraverse(node.left); preTraverse(node.right); } public static void midTraverse(Node node){ if (node == null) return; midTraverse(node.left); System.out.print(" "+node.data); midTraverse(node.right); } public static void nextTraverse(Node node){ if (node == null) return; nextTraverse(node.left); nextTraverse(node.right); System.out.print(" "+ node.data); } public static Node loading(int[] arr){ List <Node> lnode = new LinkedList<Node>(); for (int i = 0; i < arr.length; i++) { lnode.add(new Node(arr[i])); } for (int i = 0; i < lnode.size() / 2 ; i++) { lnode.get(i).left = 2*i+1 < lnode.size() ? lnode.get(2*i+1) : null ; lnode.get(i).right = 2*i+2 < lnode.size() ? lnode.get(2*i+2) : null ; } return lnode.get(0); } public static void main(String[] args) { Node root = loading(arr); System.out.println("\r\n 前序遍历 二叉树"); preTraverse(root); System.out.println("\r\n 中序遍历 二叉树"); midTraverse(root); System.out.println("\r\n 后序遍历 二叉树"); nextTraverse(root); } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!