System.NullReferenceException:未将对象引用设置为实例 对象
public int find(int value) {
Node curr = root;
while (curr != null) {
if (curr.value == value) {
return value;//success
}
if (curr.value < value) {
curr = curr.lChild;
}
if (curr.value > value) {
curr = curr.rChild;
}
if (curr.value == null) {
break;
}
}
return 0;//No Value
}
我看不出这个二元搜索
的配置有什么问题答案 0 :(得分:0)
您使用的实施不使用需要考虑的案例是互斥的事实。如果一个案件被击中,可能会发生一项破坏以下案件前提条件的任务。考虑以下实现,它明确地使这些情况相互排斥。
public int find(int value) {
Node curr = root;
while (curr != null) {
if (curr.value == value) {
return value;
}
else if (curr.value < value) {
curr = curr.lChild;
}
else if (curr.value > value) {
curr = curr.rChild;
}
else if (curr.value == null) {
break;
}
}
return 0;
}