isEmpty Ejercicio 4

isEmpty Ejercicio 4

de Emiliano Rodríguez Tejera -
Número de respuestas: 1

Hola, 

en este ejercicio no estoy seguro de si se verifica que una lista doblemente enlazada es vacía haciendo if(l == NULL) o hay que verificar que los do s punteros son NULL. 

En respuesta a Emiliano Rodríguez Tejera

Re: isEmpty Ejercicio 4

de Sofia Tito Virgilio Rodriguez -

Hola Emiliano,

La única diferencia de esta representación con respecto a la del ejercicio 1 es que cada nodo de la cadena mantiene además una referencia al elemento anterior, por lo que el razonamiento para determinar qué sería una lista doblemente encadenada vacía es similar.

Tenemos que la lista doblemente encadenada se representa mediante una secuencia de nodos doblemente encadenados, donde cada nodo representa a un elemento de la cadena y guarda referencias al nodo anterior, y al siguiente.

En el caso en que la lista es vacía, no tiene ningún elemento, y por lo tanto es razonable pensar que una lista doblemente encadenada vacía no tendría nodos, por lo que sería natural representarla con NULL.

Otra opción para decidir qué hace la función isEmpty, es ver la implementación de null (parte b.i del ejercicio), que debería retornar una lista vacía, por lo tanto, para ser vacía la lista debe cumplir las características de la lista creada por la operación null

Al decir "verificar los dos punteros" asumo que te referís a los punteros ant y sig que aparecen en el struct nodo_doble, no?  Se entiende entonces por qué no habría tales punteros en caso de que la lista esté vacía?

Saludos!