为什么我在这个 btree 方法中遇到 NullPointerException?
我正在为 btree 算法编写代码。我收到 NullPointerException 。为什么????请有人帮助我...!
public void insertNonFull(BPlusNode root,BPlusNode parent,String key)
{
int i=0;
BPlusNode child=new BPlusNode();
BPlusNode node=parent;
while(true)
{
i=node.numKeys-1;
if(node.leaf)
{
while(i>=0 && key.compareTo(node.keys[i])<0)
{
node.keys[i+1]=node.keys[i];
i--;
}
node.keys[i+1]=key;
node.numKeys=node.numKeys+1;
}
else
{
while(i>=0 && key.compareTo(node.keys[i])<0)
{
i--;
}
}
i++;
child=node.pointers[i];
if(child!=null && child.numKeys==7)
{
splitChild(root,node,i,child);
if(key.compareTo(node.keys[i])>0)
{
i++;
}
}
node=node.pointers[i];
}
}
i am writing code for btree algorithms. i am getting NullPointerException . why???? please somebody help me...!
public void insertNonFull(BPlusNode root,BPlusNode parent,String key)
{
int i=0;
BPlusNode child=new BPlusNode();
BPlusNode node=parent;
while(true)
{
i=node.numKeys-1;
if(node.leaf)
{
while(i>=0 && key.compareTo(node.keys[i])<0)
{
node.keys[i+1]=node.keys[i];
i--;
}
node.keys[i+1]=key;
node.numKeys=node.numKeys+1;
}
else
{
while(i>=0 && key.compareTo(node.keys[i])<0)
{
i--;
}
}
i++;
child=node.pointers[i];
if(child!=null && child.numKeys==7)
{
splitChild(root,node,i,child);
if(key.compareTo(node.keys[i])>0)
{
i++;
}
}
node=node.pointers[i];
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来要么parent为null,要么node.pointers[i]为null(在某些时候)。尝试将其更改为:
编辑:实际上,只需将循环更改为
while(node != null){
It sounds like either parent is null, or node.pointers[i] is null (at some point). Try changing it to:
EDIT: Actually, just change your loop to
while(node != null){