Kodowanie funkcji do kopiowania listy połączonej w C ++

Muszę zaimplementować funkcję pomocniczą o nazwie copyList, mającą jeden parametr, wskaźnik do ListNode. Ta funkcja musi zwrócić wskaźnik do pierwszego węzła kopii oryginalnej listy połączonej. Innymi słowy, muszę kodować funkcję w C ++, która pobiera węzeł nagłówka połączonej listy i kopiuje całą połączoną listę, zwracając wskaźnik do nowego węzła nagłówka. Potrzebuję pomocy przy wdrażaniu tej funkcji i właśnie to mam teraz.

<code>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;
}
</code>

Jest to również struktura Listnode, z którą pracuję:

<code>struct Listnode {    
  Student *student;
  Listnode *next;
};
</code>

Uwaga: innym czynnikiem, z którym korzystam w tej funkcji, jest pomysł zwrócenia wskaźnika do zmiennej lokalnej.

questionAnswers(7)

yourAnswerToTheQuestion