Saltar al contenido

¿Cómo se puede definir un nodo de lista enlazada “recursivamente”?

Nuestros desarrolladores estrellas han agotado sus provisiones de café, por su búsqueda diariamente por la resolución, hasta que Pablo halló el hallazgo en GitLab y en este momento la comparte con nosotros.

Solución:

  1. Cree la estructura a la que apunta el puntero en la primera estructura, contiene un número entero y un puntero a una estructura del mismo tipo.

Aquí es donde tu razonamiento está fuera de lugar. La creación de un puntero a algo no crea automáticamente la cosa a la que se supone que debe apuntar. Entonces, el hecho de que el primer objeto se cree con un puntero en él, no significa que el puntero apuntará a algo válido. Como si escribo:

int *p;

No apunta a nada. el valor de la puntero es indeterminado. Puedo inicializar el puntero:

int *p = NULL;

Y sigue sin apuntar a nada. Pero puedo darle la dirección de algo:

int i = 1;
int *p = &i;

Y ahora es puntos en algo. Lo mismo con el puntero en el nodo. Solo se puede hacer que el nodo contenga la dirección de algún nodo, pero no es necesario. Es por esto que una lista enlazada no es solo la declaración de un nodo, sino también de un conjunto de funciones (operaciones). Son esas funciones las que están destinadas a asegurarse de que la lista esté en un estado válido. Que cada nodo apunte a otro, oa un terminador bien definido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *