首页 > 解决方案 > 创建列表中的第一个元素始终为 0

问题描述

我还不完全理解 C/C++ 中的链表和节点是如何工作的,但这是我用来将节点添加到列表中的函数。

void AddNode(Node* head, int new_data) 
{ 
    Node* new_node = new Node(); 

    Node *last = head;

    new_node->data  = new_data; 

    new_node->next = NULL; 

    if (head == NULL) 
    { 
       head = new_node; 
       return; 
    }   

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


}

列表中的第一个元素将始终为 0,我做错了什么?

标签: c++

解决方案


在 c++ 中,您必须更新 Node *last = head; 到节点 *& 最后 = 头;

在 C 中,您必须更新 Node *last = head; 到节点**最后=头;


推荐阅读