Java创建二叉树并遍历的代码
2018-07-20 来源:open-open
Java创建二叉树并遍历的代码
public class BinaryTree { private Node root; /** * * 内部节点类 * @author yhh */ private class Node{ private Node left; private Node right; private int data; public Node(int data){ this.left = null; this.right = null; this.data = data; } } public BinaryTree(){ root = null; } /** * 递归创建二叉树 * @param node * @param data */ public void buildTree(Node node,int data){ if(root == null){ root = new Node(data); }else{ if(data < node.data){ if(node.left == null){ node.left = new Node(data); }else{ buildTree(node.left,data); } }else{ if(node.right == null){ node.right = new Node(data); }else{ buildTree(node.right,data); } } } } /** * 前序遍历 * @param node */ public void preOrder(Node node){ if(node != null){ System.out.println(node.data); preOrder(node.left); preOrder(node.right); } } /** * 中序遍历 * @param node */ public void inOrder(Node node){ if(node != null){ inOrder(node.left); System.out.println(node.data); inOrder(node.right); } } /** * 后序遍历 * @param node */ public void postOrder(Node node){ if(node != null){ postOrder(node.left); postOrder(node.right); System.out.println(node.data); } } public static void main(String[] args) { int[] a = {2,4,12,45,21,6,111}; BinaryTree bTree = new BinaryTree(); for (int i = 0; i < a.length; i++) { bTree.buildTree(bTree.root, a[i]); } bTree.preOrder(bTree.root); bTree.inOrder(bTree.root); bTree.postOrder(bTree.root); } }
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐