Implement the methods indicated below. The hardest one to implement is the remove() method.
Submit your completed SimpleBinaryTree.java code to Blackboard ("Homework 6").
/**
* Print the contents of the tree, in order, from "smallest" to "largest"
*/
public void printInOrder() {
level =0;
if( size == 0 ) // empty tree
System.out.println("Empty");
else
// TODO: ask each Entry to print itself and its subtree
}
/**
* Print the contents of the tree, in reverse order, from "largest" to "smallest"
*/
public void printInReverseOrder() {
level =0;
if( size == 0 ) // empty tree
System.out.println("Empty");
else
// TODO: ask each Entry to print itself and its subtree
}
/**
* print the "largest" element in the tree
*/
public void printLargestElement() {
// TODO : complete, using a recursive method you implement in the Entry nested class
}
/**
* print the "smallest" element in the tree
*/
public void printSmallestElement() {
// TODO : complete, using a recursive method you implement in the Entry nested class
}
/**
* print all the elements in the tree that are smaller than the argument
*/
public void printSmallerElements( E e ) {
// TODO : complete, using a recursive method you implement in the Entry nested class
}
/**
* print all the elements in the tree that are larger than the argument
*/
public void printLargerElements( E e) {
// TODO : complete, using a recursive method you implement in the Entry nested class
}
/* (non-Javadoc)
* @see java.util.Set#remove(java.lang.Object)
*/
public boolean remove(Object target) {
if( target == null ) // don't allow null removal targets!
throw new NullPointerException("Null argument to remove()");
if( root == null )
return false; // tree is empty; can't remove
if( !root.contains( (E)o ) ) // tree does not contain the target; can't remove
return false;
return root.remove((E)o);
}