所以我在这里有这部分代码
这是循环 5 次 (MAX = 5) 以将单词插入链接列表。
for ( int i = 0 ; i < MAX ; i++ )
{
string alphabet = G->returnAlphabets();
L[i]->addWords(alphabet[i]);
}
我在这里有插入词部分
string line;
fstream myfile ("Words.txt");
while (!myfile.eof())
{
getline(myfile,line);
if ( alphabet == line[0] )
{
ListNode *newNode = new ListNode;
if ( head == NULL )
{
newNode->item = alphabet;
newNode->next = NULL;
head = newNode;
}
else
{
newNode->item = line;
prev = cur;
prev->next = newNode;
}
cur = newNode;
}
}
myfile.close();
我的问题是它在最后一个循环中给了我错误。MAX = 4 上的含义,插入到节点。循环的其余部分很好。当我将 MAX 减少到 4 意味着它循环 4 次时,程序没有错误,但是当程序循环 5 次时它会出错。
谁能指出我的错误?
编辑:
我检测到在最后一个循环中,它没有转到第一个节点。
而且程序还从文件中得到了这个词,只是在输入第一个节点时它给出了错误