LinkedList:使用虚拟节点推送

时间:2017-11-10 04:18:06

标签: c++ pointers linked-list push nodes

因此,我正在使用虚拟节点实现LinkedList,以分别表示列表的前面和后面(保持为空(或_head和_tail))。

我试图创建一个将元素插入链表前面的推送功能,但由于某种原因我不断收到错误。

这是代码

void push(const T& x)
    {
        if (count == 0)
        {
            _head->_next = _tail;
        }

            // Creates a new node with the user input data.
            Node* current = new Node;
            current->_data = x;

            current->_next = _head->_next;
            _head->_next = current;

            count++;
    }

Count是一个实例变量,用于跟踪列表的大小,默认为0.而_data是分配给当前节点的数据值。

由于某种原因,编译器声明head-> _next指向null,因此它不能将值赋给current。但我认为这个问题将通过在开头添加if语句来处理。

有什么建议吗?

提前致谢!

0 个答案:

没有答案