Codificando uma função para copiar uma lista vinculada em C ++
Eu preciso implementar uma função auxiliar, chamada copyList, tendo um parâmetro, um ponteiro para um ListNode. Essa função precisa retornar um ponteiro para o primeiro nó de uma cópia da lista vinculada original. Portanto, em outras palavras, preciso codificar uma função em C ++ que use um nó de cabeçalho de uma lista vinculada e copie toda a lista vinculada, retornando um ponteiro para o novo nó de cabeçalho. Preciso de ajuda para implementar essa função e é isso que tenho agora.
<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>
Além disso, esta é a estrutura do Listnode com a qual estou trabalhando:
<code>struct Listnode { Student *student; Listnode *next; }; </code>
Nota: outro fator que estou correndo com esta função é a idéia de retornar um ponteiro para uma variável local.