# Binary Search Tree (BST) Implementation Gaming Project in C++

### Explanation

1. Node Structure:
• `struct Node` defines the structure of a node in the BST.
• `int data`: Stores the value of the node.
• `Node* left`: Pointer to the left child.
• `Node* right`: Pointer to the right child.
• `Node(int value)`: Constructor to initialize a node with a given value and set child pointers to `nullptr`.
2. BST Class:
• Private Members:
• `Node* root`: Pointer to the root of the tree.
• Public Methods:
• `void insert(int value)`: Inserts a new value into the BST by calling the recursive helper function `insertRec`.
• `void inorder() const`: Performs an in-order traversal of the BST and prints the values.
• `bool search(int value) const`: Searches for a value in the BST by calling the recursive helper function `searchRec`.
• Private Methods:
• `Node* insertRec(Node* node, int value)`: Recursively inserts a value into the tree.
• Creates a new node if the current node is `nullptr`.
• Recursively inserts into the left or right subtree based on the value.
• `void inorderRec(Node* node) const`: Recursively performs in-order traversal of the tree.
• Visits left subtree, prints the node data, and then visits the right subtree.
• `bool searchRec(Node* node, int value) const`: Recursively searches for a value in the tree.
• Returns `true` if the value matches the node’s data.
• Recursively searches in the left or right subtree based on the value.
3. Main Function (`main`):
• Creates a `BST` object.
• Inserts several values into the BST.
• Performs in-order traversal and prints the result.
• Searches for specific values and prints whether they are present in the BST.
Scroll to Top