そのため、ファイルから国のレコードを読み取るセットアッププログラムがあり、国の3文字の文字表現に基づいてインデックスを作成することを目標としています(例:USA)。6つの並列アレイを使用する必要があります。LeftChPtr、コード、DataRecPtr、およびRightChPtrの3文字の配列。
これは、DataRecPtrで送信されるInsertCodeメソッドと、配列内の3文字です。
すべてのデータが挿入された後、それはファイルに保存されます。ファイルを見ると、ポインターが正しくないため、間違っていることがわかります。
助けてください、私は決してあなたに私のためにコードを書くように頼んでいません、私はただ問題を見ません。ありがとう
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++;
}