Sunt folosind metoda recursiva pentru a crea un binar de căutare copac. Obiectivul meu este de a găsi cel mai mic element din copac. Mai jos este codul meu.
inserare
node insert(node root, int value)
{
if ( root == NULL )
{
return ((newNode(value)));
}
if ( root->info == value )
{
std::cout<<Duplicate entry found!<<std::endl;
return root;
}
else if ( root->info > value )
{
root->lChild = insert(root->lChild,value);
}
else if ( root->info < value )
{
root->rChild = insert(root->rChild,value);
}
else
std::cout<<Some error has occurred.Time to debug!<<std::endl;
return root;
}
MINVALUE Funcție
int minValue(node curPtr)
{
node temp = curPtr;
while ( curPtr )
{
temp = curPtr->lChild;
}
return (temp->info);
}
Motivul (OMI) MINVALUE mea () intră în buclă infinită se datorează curPtr nu este întotdeauna NULL. Cum pot face NUL după ce am introdus datele folosind funcția de inserție ().
EDIT: Am găsit bug..so prostie din partea mea. Datorită Raymond
de mai jos este editat MINVALUE ()
int minValue(node curPtr)
{
node temp = curPtr;
while ( temp->lChild )
{
temp = temp->lChild;
}
return (temp->info);
}
Mulțumesc Kelly.













