c++ - 在双链表中插入节点

标签 c++ linked-list

我正在尝试将一个节点添加到链表的开头。这是我的代码,但是当我对其运行测试时,它不起作用。关于我可能做错了什么的任何想法?预先感谢您的帮助!

void List<T>::insertFront(T const & insert)
{
    ListNode * newNode = new ListNode(insert);
    if (head != NULL)
    {
        head->prev = newNode;
        head = head->prev;
        head->prev = NULL;
    }
    else
    {
        head = newNode;
        tail = newNode;
    }
}

最佳答案

双向链表以两种方式链接,您仅以一种方式附加新节点。

你需要:

newnode->next = head;

在你取消链接旧头之前在那里。

关于c++ - 在双链表中插入节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12625254/

相关文章:

c++ - 如何杀死用C++创建的分离线程

c++ - 帮助链接列表模板

c# - 复制链表

c++ - 对单例模式的这方面感到困惑

c++ - 在 C++ 中使用 Objective-C 类

c++ - 在这种情况下,指针是否会与预期不同?

java - 通过更改连接从单链表转换为双链表

c++ - 从模板化链表中删除节点时出现段错误

c - 如何散列C中的双链表节点?

c++ - 简单的 C/C++ 网络 I/O 库