欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java创建二叉树并遍历的代码,java创建二叉树,Java创建二叉树并遍历

来源: javaer 分享于  点击 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);}

}```

相关栏目:

用户点评