मैं पुनरावर्ती विधि का उपयोग कर रहा एक द्विआधारी खोज वृक्ष बनाने के लिए। मेरे उद्देश्य पेड़ में सबसे कम तत्व मिल रहा है। नीचे मेरी कोड है।
निवेशन
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 समारोह
int minValue(node curPtr)
{
node temp = curPtr;
while ( curPtr )
{
temp = curPtr->lChild;
}
return (temp->info);
}
कारण है कि (IMO) मेरी MINVALUE () अनंत लूप में प्रवेश कर रहा है curPtr की वजह से है हमेशा शून्य नहीं है। मैं कैसे यह NULL कर सकते हैं के बाद मैं डालने () फ़ंक्शन का उपयोग कर डेटा डाला है।
संपादित करें: मिला bug..so मुझे बेवकूफ। रेमंड के लिए धन्यवाद
नीचे (संपादित MINVALUE है)
int minValue(node curPtr)
{
node temp = curPtr;
while ( temp->lChild )
{
temp = temp->lChild;
}
return (temp->info);
}
धन्यवाद केली।













