/*  TreeNode.java    Authors: Koffman & Wolz
 *  A tree node class
 */
public class TreeNode {
	  // Data Fields
	  Comparable info;
   	TreeNode left;
	  TreeNode right;

	  // Methods
	  // Constructors
   	public TreeNode() {};

	  public TreeNode(Object i) {
	   	info = (Comparable) i;
	   	left = null;
	   	right = null;
  	}

   	public boolean insertNode(Object item) {
      if (info.compareTo(item) == 0)
	   		return false;
	   	else if (info.compareTo(item) > 0)
			  // item key < root key - check left subtree
			  if (left == null) {
			    left = new TreeNode(item); // Insert item.
			    return true;
		   	} else  // Insert item in left subtree.
			    return left.insertNode(item);
		  // item key > root key - check right subtree
		  else if (right == null) {
			  right = new TreeNode(item); // Insert item.
			  return true;
		  } else  // Insert itemin right subtree.
			  return right.insertNode(item);
	  }

} // class TreeNode



