Implementing Binary Search Tree (BST) - C++ Programming language

Author: Al-mamun Sarkar Date: 2020-04-16 15:08:49

Implementing Binary Search Tree (BST) - C++ Programming language. The following c++ code shows how to implement Binary Search Tree (BST).

 

Code:

#include 
using namespace std;

struct BstNode {
    int data;
    BstNode* left;
    BstNode* right;
};

BstNode* GetNewNode (int data)
{
    BstNode* newNode = new BstNode();
    newNode->data = data;
    newNode->left = newNode->right = NULL;
    return newNode;
}



BstNode* Insert(BstNode* root, int data)
{
   if (root == NULL) {
        root = GetNewNode(data);
   } else if (data <= root->data) {
       root->left = Insert(root->left, data);
   } else {
       root->right = Insert(root->right, data);
   }

   return root;
}


bool Search(BstNode* root, int data)
{
    if (root == NULL) return false;
    else if (root->data == data) return true;
    else if (data <= root->data) return Search(root->left, data);
    else return Search(root->left, data);

}


int main()
{
    BstNode* root = NULL;

    root = Insert(root, 15);
    root = Insert(root, 10);
    root = Insert(root, 20);
    root = Insert(root, 25);
    root = Insert(root, 8);
    root = Insert(root, 12);

    int number;
    cout << "Enter number be searched\n";
    cin >> number;
    if(Search(root, number) == true)
        cout << "Found\n";
    else
        cout << "Not Found\n";

    return 0;
}