创建递归函数以将节点添加到链表中

ito人

我对指针还很陌生,我的实践问题之一是将节点递归地添加到链表中。这段代码有效,但是我想知道这是否是解决此问题的正确方法。

void addNode(node* head){
    if (head->next != NULL) 
        addNode(head->next);

    if (head->next == NULL) {
        node* newNode = new node;
        newNode->next = NULL;
        head->next = newNode;
  }
}
我们是

我对您的代码中的两点感到怀疑。

  1. 数据类型node什么,以及它是否包含您需要以某种方式初始化的某些数据字段。当前将调用默认构造函数,因此使用您的函数添加的链表中的所有节点都将相同。那可能也可能不行。(取决于教授的想法。毕竟这是一个家庭作业问题)。

  2. 另一个不清楚的问题是,您假定链接列表始终为非空。如果head为null,则您的功能将无法使用。我怀疑这样可以。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章