It has been a while since I built a binary tree from scratch so I decided to do it. Everything works fine but this one function. When I enter a number to search it just keeps running and allowing me to keep enter numbers.
Code:
void tree::search(int key,Node* leaf)
{
if (leaf == NULL)
{
std::cout<<"The tree is empty\n";
}
else if (key==leaf->num)
{
std::cout<<"The number "<<leaf->num<<" was found\n";
}
else if(key < leaf->num)
{
search(key, leaf->left);
}
else if(key > leaf->num)
{
search(key, leaf->right);
}
else
{
std::cout<<"The number "<<key<<"was not found\n";
}
}
void tree::search(int key)
{
Node* current;
current=root;
search(key, current);
}