#include "stdstuff.h" #include "Tree.h" void realMain () { int option, value, height; bool isBalanced; Tree tree; for (;;) { cout << "\nEnter option\n" << " 1 = insert value into tree\n" << " 2 = delete value from tree\n" << " 3 = display tree\n" << " 4 = LL rotate at node\n" << " 5 = RR rotate at node\n" << " 6 = output tree height\n" << " 9 = quit\n" << "Option: "; cin >> option; switch (option) { case 1: cout << "\nEnter value: "; cin >> value; tree.insert (value); break; case 2: cout << "\nEnter value: "; cin >> value; tree.remove (value); break; case 3: cout << endl; tree.display(); break; case 4: cout << "\nEnter value: "; cin >> value; if (!tree.rotateLL (value)) { cout << "\nThe rotation did not succeed.\n"; } break; case 5: cout << "\nEnter value: "; cin >> value; if (!tree.rotateRR (value)) { cout << "\nThe rotation did not succeed.\n"; } break; case 6: height = tree.height (isBalanced); if (isBalanced) { cout << "\nThe tree is balanced. Height = " << height << ".\n"; } else { cout << "\nThe tree is not balanced. Height = " << height << ".\n"; } break; case 9: return; default: cout << "Illegal option ignored.\n"; } // end switch } //end for } // end realMain int main () { try { realMain (); } catch (exception &e) { // catches all uncaught exceptions cout << "\nException <" << e.what() << "> occurred.\n"; } pause (); return 0; }