Java创建二叉树并遍历的代码
发布时间:2020-12-14 23:24:19 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 Java创建二叉树并遍历的代码 public class BinaryTree { private Node root; /** * * 内部节点类 * @author yhh */ private class Node{ private Node
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
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); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |