实际上没有存储在节点数组中的信息

时间:2017-09-20 22:17:58

标签: c++ arrays linked-list doubly-linked-list

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;
  }

1 个答案:

答案 0 :(得分:2)

您正在按值而不是引用传递指针,因此传入变量指向的地址不会更改。

更改 void insertion(node* tail, string info){void insertion(node*& tail, string info){