Estoy estudiando estructuras de datos y listas vinculadas, pero no estoy obteniendo el concepto de cómo hacer una copia de una lista vinculada. ¿Alguien puede explicar esto, posiblemente usando pseudocódigo o código C?¿Cómo se copia una lista vinculada a otra lista?
5
A
Respuesta
16
La lógica para la duplicación de una lista enlazada es recursivo y en base a las siguientes observaciones:
- El clon de la lista vacía es la lista vacía.
- El clon de una lista con el resto de nodos xs primer nodo x y es una copia de x antepuesto a un clon de xs.
Si codifica la lista enlazada en C++, esto puede ser muy limpio:
struct Node {
int value;
Node* next;
};
Node* Clone(Node* list) {
if (list == NULL) return NULL;
Node* result = new Node;
result->value = list->value;
result->next = Clone(list->next);
return result;
}
5
¿Entiende cómo añadir un nuevo nodo a una lista existente? ¿Y comprende cómo recorrer (es decir, iterar) una lista? Copiar una lista es simplemente realizar ambas operaciones simultáneamente (recorrer ListA; para cada elemento, copiar el elemento y agregarlo como un nuevo nodo a ListB).
Cuestiones relacionadas
- 1. ¿Cómo revertir una lista vinculada?
- 2. java - iterar una lista vinculada
- 3. Ordene una sola lista vinculada
- 4. Quitar de una lista vinculada
- 5. ¿Cómo ordenar una lista según otra lista?
- 6. Encontrar corrupción en una lista vinculada
- 7. Cambiar dos elementos en una lista vinculada
- 8. Ordenar una lista vinculada en C
- 9. Intercambiando nodos en una sola lista vinculada
- 10. añadir una lista a otra lista en vb.net
- 11. Ordenar una lista vinculada en Java
- 12. Si cortar no crea una copia de una lista ni lista() ¿cómo puedo obtener una copia real de mi lista?
- 13. lista vinculada inversa sin temp
- 14. ¿Agregar una lista a otra lista en java?
- 15. Lista comparativa global contra lista vinculada para inserciones/eliminaciones aleatorias
- 16. ¿Cómo determinar si una lista vinculada contiene un bucle?
- 17. ¿Cómo inserto una lista en otra lista en python?
- 18. En Python, ¿cómo indexo una lista con otra lista?
- 19. ¿Cómo hacer una lista genérica igual otra lista genérica
- 20. ¿Cómo puedo ordenar una lista vinculada en sql?
- 21. ¿Cómo comparar nodos genéricos en una lista vinculada usando Comparable?
- 22. ¿La adición a una lista en R resulta en copia?
- 23. Ordenar una lista por otra
- 24. lista vinculada php spl o personalizada?
- 25. Implementar la lista vinculada en php
- 26. Forma simple de agregar elementos de una lista a otra lista
- 27. copie los elementos de la lista de una lista a otra en sharepoint
- 28. lista de copia de archivos de una carpeta a otra en I
- 29. ¿Existe una implementación conocida de una lista vinculada indexada?
- 30. Clasificación de lista basada en otra lista
Este es realmente un buen trozo de código! – LunaticSoul