मैं एक मेरी BSTree वर्ग में विधि है कि एक मूल्य को स्वीकार करेंगे और उसके बाद नोड्स के सभी के माध्यम से जाँच करता है, तो यह पेड़ में निहित है देखने के लिए होता है को लागू करने की कोशिश कर रहे हैं। मुझे लगता है कि एल्गोरिथ्म सही है, लेकिन मैं क्यों मैं पहली बार अगर बयान पर एक StackOverFlowException बार आ रही है पता नहीं है। कोई विचार?
public Boolean Contains(T item)
{
Node<T> node = root;
return contains(root, item);
}
private Boolean contains(Node<T> node, T item)
{
if (item.CompareTo(root.Data) == 0)
{
return true;//return 0 if found
}
else
{
if (item.CompareTo(root.Data) > 0)
{
//root = node.Left;
Node<T> left = root.Left;
return(contains(root, item));
}
else
{
if (item.CompareTo(root.Data) < 0)
{
//root = node.Right;
Node<T> right = root.Right;
return(contains(root, item));
}
else
{
return false;//return 1 if not found
}
}
}
}













