Overview:
You will create a BST. Your BST will insert new nodes, remove a given node if found, search for a given node, and report and print the nodes in order. The program will be user-driven (a text menu that will allow the user to repeatedly perform the above operations until "quit" is selected).
Requirements:
1. Create a node class holding integer data (both the key and data as one, often they are separate using hash codes), and a node reference for the left and right child node. Make all fields private.
2. Create a BST class with the following methods:
a. public void insert(Node n)
b. public boolean remove(Node n)
c. public boolean find(Node n)
d. private member fields
3. Create a test/BST manager class. This class will provide the following functionality to the user:
a. Allow the user to repeatedly fill the tree with data.
b. Allow the user to repeatedly remove a given node value and report if it can't find the node in the tree.
c. Allow the user to find a given node in the tree and report if it was found or if it wasn't.
d. Allow the user to print the current tree in ascending order of the data.
e. Quit when done.