/* * BinTree.java * Simple implementation of binary trees in Java. * * Author: David Aspinall * Copyright: University of Edinburgh, 2001. * * BinTree.java,v 1.5 2002/11/29 13:59:44 da Exp * */ class BinTree { private BinTree left; // left subtree private Object data; // label for node private BinTree right; // right subtree // Construct a leaf given a label. BinTree(Object data) { this.data = data; // left and right default to null (the empty tree) } // Construct a tree given a label and two subtrees. BinTree(BinTree left, Object data, BinTree right) { this.data = data; this.left = left; this.right = right; } public void printNodesPreorder() { printNodesPreorder(this); } private static void printNodesPreorder(BinTree tree) { if (tree != null) { System.out.print(tree.data); System.out.print(" "); printNodesPreorder(tree.left); printNodesPreorder(tree.right); } } }