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.