我对指针还很陌生,我的实践问题之一是将节点递归地添加到链表中。这段代码有效,但是我想知道这是否是解决此问题的正确方法。
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;
}
}
我对您的代码中的两点感到怀疑。
数据类型node
是什么,以及它是否包含您需要以某种方式初始化的某些数据字段。当前将调用默认构造函数,因此使用您的函数添加的链表中的所有节点都将相同。那可能也可能不行。(取决于教授的想法。毕竟这是一个家庭作业问题)。
另一个不清楚的问题是,您假定链接列表始终为非空。如果head为null,则您的功能将无法使用。我怀疑这样可以。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句