二叉树中序遍历java代码实现

package binarytreesort;

public class BinaryTree {
    private int value;
    private BinaryTree leftNode;
    private BinaryTree rightNode;
    
    public BinaryTree() {
        // TODO Auto-generated constructor stub
    }
    
    public BinaryTree(int value,BinaryTree leftNode,BinaryTree rightNode) {
        this.value = value;
        this.leftNode = leftNode;
        this.rightNode = rightNode;
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    public BinaryTree getLeftNode() {
        return leftNode;
    }

    public void setLeftNode(BinaryTree leftNode) {
        this.leftNode = leftNode;
    }

    public BinaryTree getRightNode() {
        return rightNode;
    }

    public void setRightNode(BinaryTree rightNode) {
        this.rightNode = rightNode;
    }
        
}
/**
 * 
 */
package binarytreesort;

/**
 * @author Administrator
 * 
 */
public class BinaryTreeSort {

    /**
     * @param args
     */
    public static void main(String[] args) {
        BinaryTree binaryTree = new BinaryTree(10, new BinaryTree(8,
                new BinaryTree(5, new BinaryTree(2, null, null),
                        new BinaryTree(6, null, null)), new BinaryTree(9, null,
                        null)), new BinaryTree(15, null, null));
        preOderTraversal(binaryTree," ");
        System.out.println("\n");
        inOrderTraversal(binaryTree);
    }

    public static void inOrderTraversal(BinaryTree binaryTree){
            if(binaryTree.getLeftNode()!=null){
                inOrderTraversal(binaryTree.getLeftNode());
            }
            System.out.println(binaryTree.getValue());
            if(binaryTree.getRightNode()!=null){
                inOrderTraversal(binaryTree.getRightNode());
            }

        }
    
    public static void preOderTraversal(BinaryTree binaryTree,String blankSpace){
        System.out.println(blankSpace+binaryTree.getValue());
        blankSpace +=" "+blankSpace;
        if(binaryTree.getLeftNode()!=null){
            preOderTraversal(binaryTree.getLeftNode(),blankSpace);
        }
        if (binaryTree.getRightNode()!=null){
            preOderTraversal(binaryTree.getRightNode(),blankSpace);
        }
    }
}

 

转载于:https://www.cnblogs.com/usual2013blog/archive/2013/05/26/3099784.html

你可能感兴趣的:(数据结构与算法,java)