import plp.collection.*; public class TestAVL { public static void main(String [] args) throws Exception { AVL avl = new AVL(); for (int i = 0; i < args.length; ++i) { avl.insert(args[i]); } System.out.println("AVL\n" + avl); Comparable [] a = avl.dfs(); for (int i = 0; i < a.length; ++i) { System.out.print(a[i] + " "); } System.out.println(); System.out.println("min " + avl.min() + " max " + avl.max()); for (int i = 0; i < a.length; ++i) { System.out.print(avl.data(i) + " "); } System.out.println(); System.out.println("Trying to insert " + args[0] + " again ..."); try { avl.insert(args[0]); } catch (AVLInsertionException e) { System.out.println(e.data() + " yet in AVL ? : " + e.avl().member(e.data())); } System.out.println("Remove all the elements at rank 3k"); for (int i = 0; i < a.length; i += 3) { avl.remove(args[i]); } System.out.println("Trying to remove " + args[0] + " again ..."); try { avl.remove(args[0]); } catch (AVLRemoveException e) { System.out.println(e.data() + " not in AVL ? : " + (! e.avl().member(e.data()))); } for (int i = 1; i < a.length; i += 3) { avl.remove(args[i]); } for (int i = 2; i < a.length; i +=3) { avl.remove(args[i]); } System.out.println("AVL\n" + avl); } }