Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void BinarySearchTree<itemType, keyType>::add(itemType entry) throw(std::runtime_error){
- BinaryNode<itemType>* temp = nullptr;
- if(m_root == nullptr){
- m_root = new BinaryNode<itemType>(entry);
- }else if(!contains(entry.getKey())){
- if(m_root->getEntry() < entry.getKey()){
- temp = m_root->getRight();
- recAdd(entry, temp);
- }else if(m_root->getEntry() > entry.getKey()){
- temp = m_root->getLeft();
- recAdd(entry, temp);
- }
- temp = nullptr;
- }else{
- throw(std::runtime_error("ERROR: No duplicatesn"));
- }
- }
- void BinarySearchTree<itemType, keyType>::recAdd(itemType entry, BinaryNode<itemType>*& subtree){
- BinaryNode<itemType>* temp = nullptr;
- if(subtree == nullptr){
- subtree = new BinaryNode<itemType>(entry);
- }else if(subtree->getEntry() < entry.getKey()){
- temp = subtree->getRight();
- recAdd(entry, temp);
- }else if(subtree->getEntry() > entry.getKey()){
- temp = subtree->getLeft();
- recAdd(entry, temp);
- }
- temp = nullptr;
- }
Add Comment
Please, Sign In to add comment