Foros del Web » Programación para mayores de 30 ;) » Java »

una pregunta pa stock

Estas en el tema de una pregunta pa stock en el foro de Java en Foros del Web. Que tal, oshe tengo una duda en un tema que tiene sobre la estructura de datos, io tengo una manera un poquito diferente para el ...
  #1 (permalink)  
Antiguo 23/03/2006, 13:16
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 3 meses
Puntos: 3
Exclamación una pregunta pa stock

Que tal, oshe tengo una duda en un tema que tiene sobre la estructura de datos, io tengo una manera un poquito diferente para el manejo de listas en un programita, pero no supe como eliminar elementos y encontre el que tu subiste, tienes un metod que se llama remove() y en una parte tienes esto

while(tmp.ptr.ptr!=null)

eso es correcto o esta mal? y si es correcto, por que?

Otra cosa, io nesecito eliminar todo lo que esta en una lista y quise usar tu metodo para eliminar nodo por nodo pero al parecer el primer valor que ingrese a la lista no me lo elimina, sabes por q?

espero me entiendas, gracias de antemano...
  #2 (permalink)  
Antiguo 23/03/2006, 22:17
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 6 meses
Puntos: 53
Cita:
Iniciado por zyon

while(tmp.ptr.ptr!=null)

eso es correcto o esta mal? y si es correcto, por que?
mira, lo que pasa es que con ese ciclo te mueves hasta un Elemento antes del fin de la lista, algo asi

Código:
12 -> 3 -> 7 -> 4 -> 2
^                ^
root            aqui
y le asignas NULL al puntero que "apunta" al "2", es por eso que tienes que ir moviendote con NODO.ptr.ptr osea revisas el ptr de 4, entras al nodo 4 y revisas el ptr de 2, si este apunta a null etonces estas en el penultimo nodo.

Cita:
Iniciado por zyon
Otra cosa, io nesecito eliminar todo lo que esta en una lista y quise usar tu metodo para eliminar nodo por nodo pero al parecer el primer valor que ingrese a la lista no me lo elimina, sabes por q?

espero me entiendas, gracias de antemano...
si quieres eliminar toda la lista, absolutamente toda, es muy sencillo, unicamente por el puntero INICIAL en NULL y listo!! habras perdido todos tus nodos para siempre

bueno, cualquier otra duda, por aqui andare maniana temprano.....
  #3 (permalink)  
Antiguo 24/03/2006, 01:30
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 2 meses
Puntos: 51
si quieres eliminar toda la lista, absolutamente toda, es muy sencillo, unicamente por el puntero INICIAL en NULL y listo!! habras perdido todos tus nodos para siempre

Comodo y rapido, pero totalmente ineficiente desde el punto de vista del Garbage Collector al que le estas haciendo recorrer toda la lista para saber si hay realmente puede eliminar esos elementos o no.

while(tmp.ptr.ptr!=null)
Aparte de no ser orientado a objetos, en caso de tener un unico elemento... ¿no saltaria una NullPointerException?

  #4 (permalink)  
Antiguo 24/03/2006, 08:41
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 3 meses
Puntos: 3
Pregunta asi es

en cuanto a lo del NullPointerException asi es, sale cuando solo tengo un elemneto...

y stock en tu caso el puntero iniacial es root o ptr ???

y me pueden explicar el funcionamiento del GC?

Última edición por zyon; 24/03/2006 a las 08:48
  #5 (permalink)  
Antiguo 24/03/2006, 13:13
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 6 meses
Puntos: 53
Cita:
Iniciado por GreenEyed
Comodo y rapido, pero totalmente ineficiente desde el punto de vista del Garbage Collector al que le estas haciendo recorrer toda la lista para saber si hay realmente puede eliminar esos elementos o no.
gracias por el consejo, no habia tomado eso en cuenta....

Cita:
Iniciado por GreenEyed
while(tmp.ptr.ptr!=null)
Aparte de no ser orientado a objetos, en caso de tener un unico elemento... ¿no saltaria una NullPointerException?
ya se que no es orientado a objetos, hice eso codigo antes de que aprendiera la POO, sorry , con respecto al NullPointerException, en el codigo completo del metodo esta dividido en 3 posibles casos

1- cuando es el nodo inicial
2- cuando es a la mitad (que es ese ciclo)
3- que este al final

saludos
  #6 (permalink)  
Antiguo 24/03/2006, 13:27
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 2 meses
Puntos: 51
No problemo, todos estamos aqui para aprender .

De todas formas, supongo que esto será para un ejercicio para aprender sobre estructuras de datos, ya que en Java afortunadamente ya tenemos varias implementaciones de listas ya hechas... ¡Hay que tiempos cuando tenía que implementar esas cosas a mano con el pascal o el C a pelo! jejeje.
  #7 (permalink)  
Antiguo 24/03/2006, 14:37
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 3 meses
Puntos: 3
Tengo otra duda

como hago para imprimir la lista alreves???
  #8 (permalink)  
Antiguo 24/03/2006, 16:21
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 6 meses
Puntos: 53
hacia atraz? pues pudieras hacer una lista doblemente enlazada.....
  #9 (permalink)  
Antiguo 03/04/2006, 08:29
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 3 meses
Puntos: 3
gracias por la ayuda....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:23.