在 CC 中使用遞迴搜尋二進位制搜尋樹中的值

二叉搜尋樹(BST)節點的結構:

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

搜尋演算法

// Check if a value exists in the tree
bool BSTSearch(node * current, int value)
{
    if (current->data == value)
    {
        return true;
    }
    else if (current->data < value)
    {
        if (current->left == NULL)
        {
            return false;
        }
        else
        {
            return BSTSearch(current->left, value);
        }
    }
    else if (current->data > value)
    {
        if (current->right == NULL)
        {
            return false;
        }
        else
        {
            return BSTSearch(current->right, value);
        }
    }
}