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?