int main(int argc, char** argv) { BinarySearchTree<int, int> intTree; intTree.add(40); intTree.add(5); intTree.add(10); intTree.add(30); intTree.add(20); intTree.add(35); intTree.add(25); intTree.add(15); cout << intTree.getHeight() << endl; cout << intTree.getNumberOfNodes() << endl; int item; cout << "Inorder\n"; intTree.inorderTraverse(print); cout << "Get entry for 5 " << intTree.getEntry(5) << endl; cout << "Get entry for 25 " << intTree.getEntry(25) << endl; try { cout << "Get entry for 65 " << intTree.getEntry(65) << endl; } catch(NotFoundException e) { cout << "Error " << e.what() << endl; } cout << "Does it contain 5 " << intTree.contains(5) << endl; cout << "Does it contain 25 " << intTree.contains(25) << endl; cout << "Does it contain 65 " << intTree.contains(65) << endl; try { intTree.remove(45); } catch(NotFoundException e) { cout << "Error " << e.what() << endl; } intTree.inorderTraverse(print); cout << endl; intTree.remove(30); intTree.inorderTraverse(print); cout << endl; intTree.remove(5); intTree.inorderTraverse(print); cout << endl; intTree.remove(15); intTree.inorderTraverse(print); cout << endl; cout << intTree.getHeight() << endl; cout << intTree.getNumberOfNodes() << endl; }
void Menu::Undo(BinarySearchTree<DataRecord>& g) { if (DataStack.isEmpty()) //Nothing to undo cout << "nothing to undo"; else { //add to Hash Table and BST DataRecord Temp; DataRecord topStack; DataStack.peek(topStack); DataStack.pop(); if (g.getEntry(topStack, Temp)) { //data already exists cout << "already exists"; return; } else { g.insert(topStack); //successful cout << "undo was successful"; return; } } }
//Added by Jose Sepulveda //This search simplifies it by printing the item if found. bool EmployeeTree::search(int num){ Employee target(num, "null"); Employee result; if(empTree.getEntry(target, result)){ cout << "\nFound!: " << result << "\n"; return true; } cout << "\nNot found.\n"; return false; }
void Menu::Add(BinarySearchTree<DataRecord>& a) { DataRecord NewRecord; //Asks user for data to insert. Similar to lab 4. NewRecord.setKey(123); //Now checking to see if data already exists DataRecord Temp;//Data Temp needed to access getEntry function of BST. Should be similar to hash fucntion if (a.getEntry(NewRecord, Temp)) { //data already exists cout << "already exists\n"; return; } //prompt for rest of data. NewRecord.setRadius(3.14); a.insert(NewRecord); }
void Menu::Delete(BinarySearchTree<DataRecord>& b) { //Asks user for which record to delete. //pass that key to the hash function to see if data exists. DataRecord LookingFor(5, 14.8); DataRecord Temp; if (b.getEntry(LookingFor, Temp)) { DataStack.push(Temp); b.remove(Temp); return; } //can't be found cout << "cant be found\n"; return; }
void Menu::Display(const BinarySearchTree<DataRecord>& c) { //Asks user for which Record they are looking for DataRecord LookingFor; LookingFor.setKey(123); DataRecord Found; if (c.getEntry(LookingFor, Found)) { //print what is found. cout << Found; return; } else { //print cant be found. cout << "cant be found"; return; } }