2013-12-16 100 views
0
List_cell *currPtr = list_first_; 

if(list_first_ == nullptr){ 

    list_first_ = new_cell; 
} 
else{ 

    currPtr = list_first_; 
    while(currPtr->next != nullptr){ 
     currPtr = currPtr->next; 
     currPtr->next = new_cell; 
    } 
} 

这是什么问题?它似乎并没有进入while循环......感谢您的帮助!将项目添加到链接列表的末尾

+0

请显示您的完整代码。什么是new_cell? –

回答

4

您不希望将currPtr-> next设置为new_cell,直到您到达列表的末尾,否则您只需在列表中的第一个元素之后添加new_cell,然后丢失已存在的任何内容列表。

List_cell *currPtr = list_first_; 

if(list_first_ == nullptr){ 

    list_first_ = new_cell; 

} 
else{ 

    currPtr = list_first_; 
    while(currPtr->next != nullptr){ 
     currPtr = currPtr->next; 
    } 
    currPtr->next = new_cell; 
} 

只有当您到达结尾时,才会将new_cell添加到列表中。

+1

非常感谢! – user2933157

+0

虽然我当然会推荐您使用标准库中的列表,而不是为了学习目的而创建自己的列表。 – user2711915

+0

这是我学校项目的一部分,它需要我使用链接列表:( – user2933157