Duda Obligatorio: Es necesario inicializar todos los procesos siguientes a NONE?

Duda Obligatorio: Es necesario inicializar todos los procesos siguientes a NONE?

de Braulio Rios Ferreira -
Número de respuestas: 1

Buenas,

En mi implementación de la lista encadenada, no tengo una rutina de inicialización que fije procesos[i].siguiente = NONE para todos los procesos, sino que se va fijando en la medida que se encolan, de forma que siempre garantizo que el último proceso de la lista apunta a NONE. Los procesos que están fuera de la lista encadenada (nadie apunta a ellos), pueden apuntar a cualquier cosa, porque nunca se llega hasta ellos y no se usan.

La implementación funciona bien, y si se mira como caja negra no hay forma de detectar esto.

Mi duda es porque en la descripción del obligatorio se muestra cómo debería quedar la cola, y todos los procesos fuera de la lista apuntan a NONE. Esto tal vez podría ser una ventaja si se quiere hacer alguna verificación de coherencia en un futuro, pero por el momento no veo que sea necesario, ya que para recorrer la lista basta con que el último elemento apunte a NONE, y lo que tengan los procesos que no son referenciados nunca, no tiene relevancia en esta implementación.

En concreto, la duda es: para la corrección del código, es necesario que todo el array de procesos quede exactamente igual a como dice la letra (todos los elementos en desuso apuntan a NONE, lo que requiere inicialización y algo más de código en las rutinas desencolar y extraer), o basta con que la cola funcione bien utilizando los métodos definidos en la interfaz?

En respuesta a Braulio Rios Ferreira

Re: Duda Obligatorio: Es necesario inicializar todos los procesos siguientes a NONE?

de Leonardo Steinfeld -

Hola,

Tus observaciones son todas correctas, y no es necesario inicializar la lista. Sin embargo, también mencionás la conveniencia de que se inicialice para facilitar la inspección del estado de la lista. Sugermimos entonces que inicialicen la lista.

Aprovecho para incentivarlos a usar el foro, es una herramienta muy buena que facilita el aprovechamiento del curso y en general está muy bien que manden todas sus dudas. Sin embargo les pedimos que cuiden que tipo de preguntas hacen y especialmente las respuestas que dan. Hasta ahora han sido cuestiones de letra y han sido planteadas y respondidas correctamente, pero tengan en cuenta que los trabajos deben ser independientes (ya sean individuales o grupales). Ante la duda nos escriben a nosotros, y en todo caso luego nosotros compartimos la pregunta y eventualmente su respuesta al foro. Por favor, que esto nos lo detenga, sigan mandando sus dudas!

Saludos