c++ - 无法将元素添加到链表的末尾

标签 c++ debugging linked-list

<分区>

我想在链表的后面添加一个元素,但它似乎没有添加,有人能告诉我我的代码有什么问题吗,谢谢。我的链表不为空

void LinkedList::Addelementfromback(VoidPtr horoscope)
{
   NodePtr temp = head;  

   while (temp != NULL)
   {
    temp=temp->next;
   }

    NodePtr element=new Node;

    element->data=horoscope;

    element->next=NULL;

    temp=element;
}

最佳答案

temp 是最后一个 next 值的拷贝,它是 NULL。 您分配给拷贝。

您应该做的是提前停止一次迭代。然后,temp->next=element;

要提前停止一次迭代,请使用:while (temp->next != NULL)

关于c++ - 无法将元素添加到链表的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14660387/

相关文章:

ios - 如何在 Swift 中调试内存警告?

c++ - 如何在 Visual Studio C++ 调试器中找到被调试进程的基地址?

c++ - C和C++中long double和double的区别

c++ - 具有自定义数据结构的 C++ 中的运算符<<

c++ - Stringstream 到 vector<int>

java - 链表内存泄漏

Java递归方法结束但不终止

c++ - 有没有办法从此 sql 语句和逻辑中删除 select count(*)

python - 如何使用pdb调试C写的模块?

c - 结构体中的指针指向另一个结构体