二叉搜索树插入问题(Java)
因此,我有一个从文件中读取国家记录的安装程序,我的目标是根据美国以外国家的3个字符的字母表示制作索引。我需要使用6个并行数组。LeftChPtr、代码的3个字符数组、DataRecPtr和RightChPtr 下面是在DataRecPtr中发送的InsertCode方法和数组中的3个字符 插入所有数据后,它会保存到一个文件中,当我查看该文件时,我可以判断它是错误的,因为指针不正确 请帮帮我,我不是要你帮我写代码,我只是不明白问题所在。 谢谢二叉搜索树插入问题(Java),java,insert,binary-search-tree,Java,Insert,Binary Search Tree,因此,我有一个从文件中读取国家记录的安装程序,我的目标是根据美国以外国家的3个字符的字母表示制作索引。我需要使用6个并行数组。LeftChPtr、代码的3个字符数组、DataRecPtr和RightChPtr 下面是在DataRecPtr中发送的InsertCode方法和数组中的3个字符 插入所有数据后,它会保存到一个文件中,当我查看该文件时,我可以判断它是错误的,因为指针不正确 请帮帮我,我不是要你帮我写代码,我只是不明白问题所在。 谢谢 N = 0 rootPtr = -1 parentI
N = 0
rootPtr = -1
parentI = 0;
public void InsertCode(short ID, char[] cc)
{
drp = ID;
short i;
codeArray1[N] = cc[0];
codeArray2[N] = cc[1];
codeArray3[N] = cc[2];
leftChPtr[N] = -1;
rightChPtr[N] = -1;
dataRecPtr[N] = drp;
if (rootPtr == -1) //special case - no nodes in BST yet
rootPtr = N;
else //normal case
{
i = rootPtr;
String dataN = "";
dataN += codeArray1[N] + codeArray2[N] + codeArray1[N];
while (i != -1)
{ parentI = i;
String dataI = "";
dataI += codeArray1[i] + codeArray2[i] + codeArray3[i];
if (dataN.compareTo(dataI) < 0)
{
i = leftChPtr[i];
LorR = true;//L
}
else
{
i = rightChPtr[i];
LorR = false;//R
}
}
//i++;?????????????????
if (LorR == true)
leftChPtr[parentI] = N;
else
rightChPtr[parentI] = N;
}
N++;
}
除了应该声明LorR之外,看不出insert方法有任何错误。可能您应该检查代码以保存到文件中