
public static void main(String[] args) {
  BinaryTree tree3 = new BinaryTree(new Integer(70));

  // build the tree in Figure 10-9
  BinaryTree tree1 = new BinaryTree();
  tree1.setRootItem(new Integer(40));
  tree1.attachLeft(new Integer(30));
  tree1.attachRight(new Integer(50));

  BinaryTree tree2 = new BinaryTree();
  tree2.setRootItem(new Integer(20));
  tree2.attachLeft(new Integer(10));
  tree2.attachRightSubtree(tree1);

  BinaryTree binTree =   // tree in Figure 10-9
         new BinaryTree(new Integer(60), tree2, tree3);

  TreeIterator btIterator = new TreeIterator(binTree);
  btIterator.setInorder();

  while (btIterator.hasNext()) {
    System.out.println(btIterator.next());
  }  // end while

  BinaryTree leftTree = binTree.detachLeftSubtree();
  TreeIterator leftIterator = new TreeIterator(leftTree);

  // iterate through the left subtree
  leftIterator.setInorder();
  while (leftIterator.hasNext()) {
    System.out.println(leftIterator.next());
  }  // end while

  // iterate through binTree minus left subtree
  btIterator.setInorder();
  while (btIterator.hasNext()) {
    System.out.println(btIterator.next());
  }  // end while
} // end main

public void Ex8() {
BinaryTree t1 = new BinaryTree(new Integer (2));
t1.attachLeft(new Integer(5));
t1.attachRight(new Integer(3));
t1 = new BinaryTree(new Integer(10), t1, null);

BinaryTree t2 = new BinaryTree(new Integer(8));
t2.attachLeft(newInteger(6));
t2.attachRight(new Integer(7));

BinaryTree s = new BinaryTree(new Integer(9), t1, t2);
BinaryTree r = new BinaryTree(new Integer(1));
r.attachLeft(new Integer(2));
r.attachRight(new Integer(3));
}
