int main() { Employee* alice = new Employee("Alice", "Wonderland", 3211232, ENGINEERING); Employee* bob = new Employee("Bob", "Marley", 3211232, MARKETING); Employee* charlie = new Employee("Charlie", "Gargia", 3211232, MARKETING); Employee* dan = new Employee("Daniel", "Craig", 123123, HR); Employee* edward = new Employee("Edward", "Norton", 21211212, ENGINEERING); Employee* frank = new Employee("Frank", "Herbert", 233223, SALES); Employee* gregory = new Employee("Gregory", "Peck", 344334, MARKETING); EmployeeBinarySearchTree* tree = new EmployeeBinarySearchTree(); tree->insert(dan); tree->insert(bob); tree->insert(alice); tree->insert(charlie); tree->insert(frank); tree->insert(edward); tree->insert(gregory); /* The tree now looks like this: Daniel Bob Frank Alice Charlie Edward Gregory */ cout << endl << "In Order: " << endl; tree->traverseInOrder(); cout << endl << "Pre Order: " << endl; tree->traversePreOrder(); cout << endl << "Post Order: " << endl; tree->traversePostOrder(); cout << endl << "Depth First Search: " << endl; Employee* found = tree->depthFirstSearch("Bob"); if (found != NULL) { found->display(); } else { cout << "Not Found" << endl; } cout << endl << "Breadth First Search: " << endl; found = tree->breadthFirstSearch("Frank"); if (found != NULL) { found->display(); } else { cout << "Not Found" << endl; } //Remove the Employee //Make sure employees is in the tree cout << endl << "Remove Employee: " << endl; Employee* remove = tree->depthFirstSearch("Daniel"); if (remove != NULL) { cout << remove->getFirstName() << " " << remove->getLastName() << endl; cout << "============================" << endl; cout << "The remaining employees are:" << endl; tree->remove(remove->getFirstName()); tree->traverseInOrder(); } else { cout << "The Employee is not found!" << endl; } getchar(); }