Мне нужно реализовать вспомогательную функцию с именем 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;
};
Примечание:Другим фактором, с которым я сталкиваюсь в этой функции, является идея возврата указателя на локальную переменную.