Java创建二叉树并遍历的代码,java创建二叉树,Java创建二叉树并遍历
分享于 点击 23352 次 点评:270
Java创建二叉树并遍历的代码,java创建二叉树,Java创建二叉树并遍历
Java创建二叉树并遍历的代码```javapublic 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);}
}```
用户点评