node* nodeArray[1000];
for (int j = 0; j < 1000; j++){
nodeArray[j] = new node;
}
int nodeCounter = 0;
string temporary = "";
string cont; //file content
int i = 0;
while (getline(fileObject, cont)){
for (int k = 0; k < cont.length(); k++)
cont[k] = tolower(cont[k]);
while (i < cont.length()){
这就是问题所在.cout行告诉我,我的逻辑很好,因为它应该在我的链表列表中插入节点。但它实际上并没有将它们添加到链表的数组中。
//cout << "nodeArray [" << nodeCounter << "] : " << temporary << "\n";
insert(nodeArray[nodeCounter], temporary);
temporary = "";
i++;
}
i = 0;
nodeCounter++;
}
这是我的插入功能,可能会搞乱程序
void insertion(node* tail, string info){
node* temp = new node;
temp->data = info;
temp->previous = tail;
temp->next = NULL;
tail = temp;
}
答案 0 :(得分:2)
您正在按值而不是引用传递指针,因此传入变量指向的地址不会更改。
更改
void insertion(node* tail, string info){
到
void insertion(node*& tail, string info){
。