write search function for this coded   class TreeNode { private:     int data;     TreeNode* left;     TreeNode* right; public:     TreeNode();     TreeNode(int);     //getters and setters     void setData(int);     void setLeft(TreeNode*);     void setRight(TreeNode*);     int getData();     TreeNode* getLeft();     TreeNode* getRight(); };   #include"Node.h" class BST { private:     TreeNode* root; public:     BST();     void insert(int);     bool isEmpty();     void search(int);     TreeNode* findPlace(int); }; #include"BST.h" #include using namespace std; TreeNode::TreeNode() {     data = -1;     left = NULL;     right = NULL; } TreeNode::TreeNode(int data) {     this->data = data; } void TreeNode::setData(int data) {     this->data = data; } void TreeNode::setLeft(TreeNode* left) {     this->left = left; } void TreeNode::setRight(TreeNode* right) {     this->right = right; } int TreeNode::getData() {     return data; } TreeNode* TreeNode::getLeft() {     return left; } TreeNode*TreeNode::getRight() {     return right; } //implementation of BST BST::BST() {     root = NULL; } void BST::insert(int data) {     if (isEmpty())     {         TreeNode* newNode = new TreeNode(data);         root = newNode;     }     else {         TreeNode* parent = findPlace(data);         if (parent == NULL) {             return;         }         else {             TreeNode* newNode = new TreeNode(data);             if (data > parent->getData())             {                 parent->setRight(newNode);             }             else             {                 parent->setLeft(newNode);             }         }     } } TreeNode* BST::findPlace(int data) {     TreeNode* temp = root;     TreeNode* parent = NULL;     while (temp != NULL)     {         if (temp->getData() > data) {             temp = temp->getRight();             parent = temp;         }         else if (temp->getData() < data)         {             temp = temp->getLeft();             parent = temp;         }         else         {             cout << "duplication is not allowed\n";             return NULL;         }     }     return parent; } bool BST::isEmpty() {     if (root == NULL)     {         return true;     }     else {         return false;     } } void search(int);   #include"BST.h" #include using namespace std; int main() {     BST bst;     bst.insert(4);     bst.insert(5);     bst.insert(8);     bst.insert(2);     system("pause");     return 0; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

write search function for this coded

 

class TreeNode {
private:
    int data;
    TreeNode* left;
    TreeNode* right;

public:
    TreeNode();
    TreeNode(int);

    //getters and setters
    void setData(int);
    void setLeft(TreeNode*);
    void setRight(TreeNode*);

    int getData();
    TreeNode* getLeft();
    TreeNode* getRight();
};

 

#include"Node.h"
class BST {
private:
    TreeNode* root;

public:
    BST();
    void insert(int);
    bool isEmpty();
    void search(int);
    TreeNode* findPlace(int);
};

#include"BST.h"
#include<iostream>
using namespace std;

TreeNode::TreeNode() {
    data = -1;
    left = NULL;
    right = NULL;
}
TreeNode::TreeNode(int data) {
    this->data = data;
}
void TreeNode::setData(int data) {
    this->data = data;
}
void TreeNode::setLeft(TreeNode* left) {
    this->left = left;
}
void TreeNode::setRight(TreeNode* right) {
    this->right = right;
}

int TreeNode::getData() {
    return data;
}
TreeNode* TreeNode::getLeft() {
    return left;
}
TreeNode*TreeNode::getRight() {
    return right;
}

//implementation of BST
BST::BST() {
    root = NULL;
}

void BST::insert(int data) {
    if (isEmpty())
    {
        TreeNode* newNode = new TreeNode(data);
        root = newNode;
    }
    else {
        TreeNode* parent = findPlace(data);
        if (parent == NULL) {
            return;
        }
        else {
            TreeNode* newNode = new TreeNode(data);
            if (data > parent->getData())
            {
                parent->setRight(newNode);
            }
            else
            {
                parent->setLeft(newNode);
            }
        }

    }
}
TreeNode* BST::findPlace(int data) {
    TreeNode* temp = root;
    TreeNode* parent = NULL;
    while (temp != NULL)
    {
        if (temp->getData() > data) {
            temp = temp->getRight();
            parent = temp;
        }
        else if (temp->getData() < data)
        {
            temp = temp->getLeft();
            parent = temp;
        }
        else
        {
            cout << "duplication is not allowed\n";
            return NULL;
        }
    }
    return parent;

}
bool BST::isEmpty() {
    if (root == NULL)
    {
        return true;
    }
    else {
        return false;
    }
}
void search(int);

 

#include"BST.h"
#include<iostream>
using namespace std;

int main() {

    BST bst;

    bst.insert(4);
    bst.insert(5);
    bst.insert(8);
    bst.insert(2);

    system("pause");
    return 0;
}

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Binomial Heap
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education