// Demonstrate implementation of preorder and postorder using a stack. class AnimalGroup1 extends Tree1 { private static int MaxChildren=20; public AnimalGroup1(String s) { super(s, new AnimalGroup1[MaxChildren]); } // Reassure the compiler that the children of an AnimalGroup1 are // all AnimalGroup1's public AnimalGroup1[] getChildren() { return (AnimalGroup1[]) super.getChildren(); } // Create a simple taxonomy and return the root static public AnimalGroup1 Taxonomy1() { AnimalGroup1 Mammal = new AnimalGroup1("Mammal"); AnimalGroup1 Carnivore = new AnimalGroup1("Carnivore"); AnimalGroup1 Rodent = new AnimalGroup1("Rodent"); AnimalGroup1 Primate = new AnimalGroup1("Primate"); AnimalGroup1 Squirrel = new AnimalGroup1("Squirrel"); AnimalGroup1 Rat = new AnimalGroup1("Rat"); AnimalGroup1 Cat = new AnimalGroup1("Cat"); AnimalGroup1 Dog = new AnimalGroup1("Dog"); AnimalGroup1 Skunk = new AnimalGroup1("Skunk"); AnimalGroup1 Gorilla = new AnimalGroup1("Gorilla"); AnimalGroup1 Human = new AnimalGroup1("Human"); Mammal.addChild(Carnivore); Mammal.addChild(Rodent); Mammal.addChild(Primate); Carnivore.addChild(Cat); Carnivore.addChild(Dog); Carnivore.addChild(Skunk); Rodent.addChild(Rat); Rodent.addChild(Squirrel); Primate.addChild(Gorilla); Primate.addChild(Human); return Mammal; } }