Ich verwende rekursive Methode einen binären Suchbaum zu erstellen. Mein Ziel ist es, das niedrigste Element im Baum zu finden. Unten ist mein Code.
Einfügen
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 Funktion
int minValue(node curPtr)
{
node temp = curPtr;
while ( curPtr )
{
temp = curPtr->lChild;
}
return (temp->info);
}
Der Grund, warum (IMO) meine minValue () in Endlosschleife eintritt, aufgrund curPtr ist immer nicht NULL. Wie kann ich es NULL, nachdem ich die Daten eingefügt haben insert () Funktion.
EDIT: Fand den bug..so dumm von mir. Dank Raymond
unten ist die bearbeitete minValue ()
int minValue(node curPtr)
{
node temp = curPtr;
while ( temp->lChild )
{
temp = temp->lChild;
}
return (temp->info);
}
Dank Kelly.













