Memoria Dinamica en java
Publicado por Jose (15 intervenciones) el 16/03/2008 02:54:17
Buen día:
Estoy haciendo una lista dinamica que cada nodo representa una lista dinamica en java y me he topado con algo que no entiendo como manipular por ejemplo:
Explicacion:
Cada nodo que representa una lista va a guardar el orden alfabetico de cada letra del abecedario por ejemplo:
si ingreso una palabra por primera vez que comienza con A entonces me crea un nuevo nodo que es una lista que contendra todas las palabras que se ingresen con la letra A , si ingreso una palabra con la letra B me crea otro nodo (lista) para las palabras que comienzan con la letra B y asi sucesivamente.
Nota: Cada nodo (lista) tiene 4 punteros un Arriba y un Abajo para enlazarse entre si y un atras y un siguiente para la lista que representan
Cuando agrego un nuevo nodo (lista) (segun letra del abecedario) a la lista dinamica y en ella ya hay otro nodo (lista) nts deberia hacer lo siguiente:
entonces lo correcto respecto del enlace de estos nuevos nodos (listas) seria el siguiente:
(obiare la parte en que se ingresa la el nuevo nodo en el nodo (lista) de la letra A)
// newCelda es un nuevo nodo (lista) que almacenara las palabras con la letra A
// Celda es un nodo que ya existia en la lista dinamica y almacena las palabras con la letra B
newCelda.Abajo = Celda;
Celda.Arriba = newCelda;
|||||||||||||||||||||||||||||||
||| newCelda |||
|||||||||||||||||||||||||||||||
| |
Celda.Arriba newCelda.Abajo
| |
|||||||||||||||||||||||||||||
||| Celda |||
|||||||||||||||||||||||||||||
ahora bien, el problema es el siguiente:
cuando reviso el Celda.Arriba se encuentra efectivamente el newCelda alli pero veo que me aparece habilitado el Celda.Arriba.Arriba y cuando lo reviso se encuentra alli nuevamente el newCelda y luego veo que me aparece habilitado el Celda.Arriba.Arriba.Arriba y sucede lo mismo que con el Celda.Arriba.Arriba y esto ocurre infinitas veces, que puedo hacer para componer este error?????
Muchas gracias de antemano por su amable atencion comunidad, Saludos Coridiales
Estoy haciendo una lista dinamica que cada nodo representa una lista dinamica en java y me he topado con algo que no entiendo como manipular por ejemplo:
Explicacion:
Cada nodo que representa una lista va a guardar el orden alfabetico de cada letra del abecedario por ejemplo:
si ingreso una palabra por primera vez que comienza con A entonces me crea un nuevo nodo que es una lista que contendra todas las palabras que se ingresen con la letra A , si ingreso una palabra con la letra B me crea otro nodo (lista) para las palabras que comienzan con la letra B y asi sucesivamente.
Nota: Cada nodo (lista) tiene 4 punteros un Arriba y un Abajo para enlazarse entre si y un atras y un siguiente para la lista que representan
Cuando agrego un nuevo nodo (lista) (segun letra del abecedario) a la lista dinamica y en ella ya hay otro nodo (lista) nts deberia hacer lo siguiente:
entonces lo correcto respecto del enlace de estos nuevos nodos (listas) seria el siguiente:
(obiare la parte en que se ingresa la el nuevo nodo en el nodo (lista) de la letra A)
// newCelda es un nuevo nodo (lista) que almacenara las palabras con la letra A
// Celda es un nodo que ya existia en la lista dinamica y almacena las palabras con la letra B
newCelda.Abajo = Celda;
Celda.Arriba = newCelda;
|||||||||||||||||||||||||||||||
||| newCelda |||
|||||||||||||||||||||||||||||||
| |
Celda.Arriba newCelda.Abajo
| |
|||||||||||||||||||||||||||||
||| Celda |||
|||||||||||||||||||||||||||||
ahora bien, el problema es el siguiente:
cuando reviso el Celda.Arriba se encuentra efectivamente el newCelda alli pero veo que me aparece habilitado el Celda.Arriba.Arriba y cuando lo reviso se encuentra alli nuevamente el newCelda y luego veo que me aparece habilitado el Celda.Arriba.Arriba.Arriba y sucede lo mismo que con el Celda.Arriba.Arriba y esto ocurre infinitas veces, que puedo hacer para componer este error?????
Muchas gracias de antemano por su amable atencion comunidad, Saludos Coridiales
Valora esta pregunta


0