Professional Documents
Culture Documents
10 BST+Class+Insert+Implementation
10 BST+Class+Insert+Implementation
template<typename T>
class BTNode{
public:
T data;
BTNode* left;
BTNode* right;
BTNode(T data){
this->data = data;
left = NULL;
right = NULL;
}
~BTNode(){
delete left;
delete right;
}
};
class BST{
BTNode<int>* root;
cout<<root->data<<": ";
if(root->left!=NULL){
cout<<"L"<<root->left->data;
}
if(root->right!=NULL){
cout<<"R"<<root->right->data;
}
cout<<endl;
printTree(root->left);
printTree(root->right);
}
bool hasData(BTNode<int>* node, int data){
if(node==NULL){
return false;
}
if(node->data == data){
return true;
}
public:
BST(){
root = NULL;
}
~BST(){
delete root;
}
}
void insert(int data){
root = insert(root, data);
}
bool hasData(int data){
return hasData(root, data);
}
void print(){
printTree(root);
}
};
int main(){
BST b;
b.insert(10);
b.insert(5);
b.insert(20);
b.insert(7);
b.insert(3);
b.insert(15);
b.print();
int data;
cin>>data;
cout<<b.hasData(data);
return 0;
}