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循环...感谢您的帮助!

最佳答案

在到达列表末尾之前,您不希望将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添加到列表中。

关于c++ - 将项目添加到链接列表的末尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20614833/

10-13 06:30