/****************************************************************** A class to exercise the ThreadedBST class ******************************************************************/ import java.util.*; public class A2 { public static void visit(Object e) { System.out.print(e+" "); } public static void traverseForwards(ThreadedBST t) { BiIterator current=t.iterator(); while (current.hasNext()) { visit(current.next()); } } public static void traverseBackwards(ThreadedBST t){ BiIterator current=t.iterator(); while (current.hasPrevious()) { visit(current.previous()); } } // A test function for the Bst class public static void main(String args[]) { ThreadedBST b=new ThreadedBST(); b.insert("8"); b.insert("5"); b.insert("4"); b.insert("9"); b.insert("1"); b.insert("7"); b.insert("6"); b.insert("3"); b.insert("2"); b.traverse(); System.out.println(""); traverseForwards(b); System.out.println(""); traverseBackwards(b); System.out.println(""); System.out.println(""); b=new ThreadedBST(); int r=1; for (int i=1; i<=60; i++) { r=(10*r)%61; b.insert(new Integer(r)); } b.traverse(); System.out.println(""); traverseForwards(b); System.out.println(""); traverseBackwards(b); System.out.println(""); r=1; boolean ok; for (int i=1; i<=58; i++) { r=(10*r)%59; ok=b.delete(new Integer(r)); if (ok) System.out.print(r + " deleted! "); else System.out.print(r + " not deleted! ");} System.out.println(""); b.traverse(); System.out.println(""); traverseForwards(b); System.out.println(""); traverseBackwards(b); System.out.println(""); b.delete(new Integer(59)); b.delete(new Integer(60)); b.insert(new Integer(99)); b.traverse(); System.out.println(""); traverseForwards(b); System.out.println(""); traverseBackwards(b); System.out.println(""); } }