All pastes #1811977 Raw Edit

Stuff

public text v1 · immutable
#1811977 ·published 2010-02-26 16:31 UTC
rendered paste body
/**
    A binary tree to sort integers
*/
public class BinaryTree {
    BinaryTreeNode root;

    public BinaryTree() {
        root = null;
    }

    private void addToSubTree(BinaryTreeNode n, int v) {    
        if (n!=null) // sanity check!
        {
            int nValue = ((Integer)n.getValue()).intValue();
            if (v<=nValue) {
                System.out.println("Adding "+v+" to left sub-tree of "+nValue);
                if (n.getLeft()==null)
                    n.setLeft(new BinaryTreeNode(new Integer(v)));
                else
                    addToSubTree(n.getLeft(), v);
            }
            else {
                System.out.println("Adding "+v+" to right sub-tree of "+nValue);
                if (n.getRight()==null)
                    n.setRight(new BinaryTreeNode(new Integer(v)));
                else
                    addToSubTree(n.getRight(), v);
            }
        }
    }

    public void add(int v) {
        if (root==null) {
            System.out.println("Adding "+v+" to root.");
            root = new BinaryTreeNode(new Integer(v));
        }
        else
            addToSubTree(root, v);
    }

    private void inOrder(BinaryTreeNode n) {
        if (n!=null) {


//switching right and left to print backwards
            inOrder(n.getRight());
            System.out.print(((Integer)n.getValue()).intValue()+" ");
            inOrder(n.getLeft());

        }
    }

    private void preOrder(BinaryTreeNode n)
    {
        if (n!=null) {

            System.out.print(((Integer)n.getValue()).intValue()+" ");
	    preOrder(n.getLeft());
            preOrder(n.getRight());

    }}

    private void postOrder(BinaryTreeNode n)
    {
        // this method is to be completed...
    }

    public void traversal()
    {
        System.out.print("preorder traversal: ");

        preOrder(root);

        System.out.println();
    }
}