import list.dl.*; import list.dl.algo.*; import java.io.*; class DLListDriver { public static void main (String[] args) { DLList dlList = new DLList (); displayList (dlList); dlList.insertLeftFront (new Integer (78)); displayList (dlList); dlList.insertLeftFront (new Integer (-63)); displayList (dlList); dlList.insertRightFront (new Integer (-99)); displayList (dlList); dlList.insertRightFront (new Integer (55)); displayList (dlList); /* // Well-behave removal test: System.out.println ("Remove " + dlList.remRightFirst ()); displayList (dlList); System.out.println ("Remove " + dlList.remLeftFirst ()); displayList (dlList); System.out.println ("Remove " + dlList.remRightFirst ()); displayList (dlList); System.out.println ("Remove " + dlList.remLeftFirst ()); displayList (dlList); */ try { DLList leftEnd = (DLList)dlList.executeLeft (GetLeftEnd.Singleton, null); System.out.println ("Remove " + leftEnd.remRightFirst ()); displayList (dlList); leftEnd = (DLList)dlList.executeLeft (GetLeftEnd.Singleton, null); System.out.println ("Remove " + leftEnd.remRightFirst ()); displayList (dlList); // What is dlList now? leftEnd = (DLList)dlList.executeLeft (GetLeftEnd.Singleton, null); // Explain what happens in the following: System.out.println ("Remove " + leftEnd.remRightFirst ()); displayList (dlList); leftEnd = (DLList)dlList.executeLeft (GetLeftEnd.Singleton, null); System.out.println ("Remove " + leftEnd.remRightFirst ()); displayList (dlList); } catch (Exception e) { System.out.println (e); } /* */ try { System.out.print ("Press Enter to quit..."); System.in.read (); } catch (Exception e) { } } private static void displayList (DLList dlList) { System.out.print ("List is ("); dlList.execute (PrintList.Singleton, null); System.out.println (" )"); System.out.println ("Cardinality is: " + (Integer) dlList.execute (ElementCount.Singleton, null)); } }