Guest User

Untitled

a guest
Apr 21st, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. void BinarySearchTree<itemType, keyType>::add(itemType entry) throw(std::runtime_error){
  2. BinaryNode<itemType>* temp = nullptr;
  3. if(m_root == nullptr){
  4. m_root = new BinaryNode<itemType>(entry);
  5. }else if(!contains(entry.getKey())){
  6. if(m_root->getEntry() < entry.getKey()){
  7. temp = m_root->getRight();
  8. recAdd(entry, temp);
  9. }else if(m_root->getEntry() > entry.getKey()){
  10. temp = m_root->getLeft();
  11. recAdd(entry, temp);
  12. }
  13. temp = nullptr;
  14. }else{
  15. throw(std::runtime_error("ERROR: No duplicatesn"));
  16. }
  17. }
  18.  
  19. void BinarySearchTree<itemType, keyType>::recAdd(itemType entry, BinaryNode<itemType>*& subtree){
  20. BinaryNode<itemType>* temp = nullptr;
  21. if(subtree == nullptr){
  22. subtree = new BinaryNode<itemType>(entry);
  23. }else if(subtree->getEntry() < entry.getKey()){
  24. temp = subtree->getRight();
  25. recAdd(entry, temp);
  26. }else if(subtree->getEntry() > entry.getKey()){
  27. temp = subtree->getLeft();
  28. recAdd(entry, temp);
  29. }
  30. temp = nullptr;
  31. }
Add Comment
Please, Sign In to add comment