我需要实现一个名为 copyList 的辅助函数,它有一个参数,一个指向 ListNode 的指针。该函数需要返回一个指向原始链表副本的第一个节点的指针。因此,换句话说,我需要在 C++ 中编写一个函数,该函数采用链表的头节点并复制整个链表,返回指向新头节点的指针。我需要帮助来实现这个功能,这就是我现在所拥有的。
Listnode *SortedList::copyList(Listnode *L) {
Listnode *current = L; //holds the current node
Listnode *copy = new Listnode;
copy->next = NULL;
//traverses the list
while (current != NULL) {
*(copy->student) = *(current->student);
*(copy->next) = *(current->next);
copy = copy->next;
current = current->next;
}
return copy;
}
此外,这是我正在使用的 Listnode 结构:
struct Listnode {
Student *student;
Listnode *next;
};
注意:我在使用此函数时遇到的另一个因素是返回指向局部变量的指针的想法。