Home
Add Document
Sign In
Create An Account
private: Node* m_left; Node
Download PDF
Comment
Report
4 Downloads
144 Views
Node.h #ifndef NODE_HEADER #define NODE_HEADER template class Node { private: Node* m_left; Node* m_right; T m_value; public: Node(); /*{ m_left=nullptr; m_right=nullptr; }*/ T getValue(){return this->m_value;} Node* getLeft(){return this->m_left;} Node* getRight(){return this->m_right;} void setValue(T value); void setLeft(Node* left); void setRight(Node* right); }; #include"Node.hpp" #endif
Node.hpp template Node::Node() { m_left=nullptr; m_right=nullptr; }
template void Node::setValue(T value) { m_value=value; } template void Node::setLeft(Node* left) { m_left=left; } template void Node::setRight(Node* right) { m_right=right;
}
BinarySearchTree.h #ifndef BST_H #define BST_H #include "Node.h" using namespace std; template class BinarySearchTree { private: Node* m_root; void add(T value,Node* subTree) { if(value<subTree->getValue()) { if(subTree->getLeft()!=nullptr) add(value,subTree->getLeft()); else { subTree->setLeft(new Node); subTree->getLeft()->setValue(value); subTree->getLeft()->setLeft(nullptr); subTree->getLeft()->setRight(nullptr); } } else if(value>=subTree->getValue()) { if(subTree->getRight()!=nullptr) add(value,subTree->getRight()); else { subTree->setRight(new Node); subTree->getRight()->setValue(value); subTree->getRight()->setLeft(nullptr); subTree->getRight()->setRight(nullptr); } } } void deleteTree(Node* subTree) { if(subTree!=nullptr) { deleteTree(subTree->getLeft()); deleteTree(subTree->getRight()); delete subTree; } } void printTree(Node* subtree) { if(subtree!=nullptr)
{ coutgetValue()getRight()); } } void sortedPrint(Node* subtree) { if(subtree!=nullptr) { if(subtree->getLeft()!=nullptr) sortedPrint(subtree->getLeft()); coutgetValue()getRight()); } } Node* search(T value,Node* subtree) { if(subtree!=nullptr) { if(value==subtree->getValue()) return subtree; if(value<subtree->getValue()) return search(value,subtree->getLeft()); else return search(value,subtree->getRight()); } else return NULL; } public: BinarySearchTree(); ~BinarySearchTree(); void add(T value); void printTree(); void sortedPrint(); Node* search(T value); };
#include"BinarySearchTree.hpp" #endif
BinarySearchTree.hpp #include #include"Node.h" using namespace std; template BinarySearchTree::BinarySearchTree() { m_root=nullptr;
} template BinarySearchTree::~BinarySearchTree() { //Calls private method, deleteTree(Node* subTree) and passes in m_root as the starting point for deletion } } template void BinarySearchTree::add(T value) { if(m_root==nullptr) { Node* t=new Node; m_root=t; t->setValue(value); } else { add(value,m_root); } } template void BinarySearchTree::printTree() { if(m_root==nullptr) { cout
Recommend Documents
NODE 1.1 & NODE 2.1
Node Score
Fiber Node
×
Report private: Node* m_left; Node
Your name
Email
Reason
-Select Reason-
Pornographic
Defamatory
Illegal/Unlawful
Spam
Other Terms Of Service Violation
File a copyright complaint
Description
×
Sign In
Email
Password
Remember me
Forgot password?
Sign In
Login with Facebook
Our partners will collect data and use cookies for ad personalization and measurement.
Learn how we and our ad partner Google, collect and use data
.
Agree & Close