elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Eliminar nodo de lista?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Eliminar nodo de lista?  (Leído 47,326 veces)
egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Eliminar nodo de lista?
« Respuesta #10 en: 31 Enero 2010, 02:56 am »

L-Eyer no seas impaciente ademas no quiero darle la tarea hecha si se la doy hecha le ira mal en el certamen  >:(


En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Eliminar nodo de lista?
« Respuesta #11 en: 31 Enero 2010, 03:09 am »

 ;D


En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Eliminar nodo de lista?
« Respuesta #12 en: 31 Enero 2010, 03:15 am »

Ahi te deje la respuesta dentro del mismo hilo unos cuantos post antes espero que te sirva y aprendas como hacerlos, sinceramente los nodos de C son mas faciles de comprende que java porque la mayoria cree que Java no existen los punteros y realmente los objetos de java son punteros  :laugh:
http://foro.elhacker.net/java/eliminar_nodo_de_lista-t282749.0.html;msg1395878#msg1395878

Saludos
En línea

monsefoster

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Re: Eliminar nodo de lista?
« Respuesta #13 en: 9 Febrero 2010, 02:01 am »

Y continuo con lo del nodo...
lo estoy haciendo mal probablemente...

Código
  1. public void eliminar (numero x){
  2. numero t=i;
  3. numero ant=x.sig;
  4. ant.sig=t.sig;
  5. if (i!=null){
  6. while (t!=null){
  7. if (t.retx()==x.num){
  8. ant.sig=t.sig;
  9. }
  10. t=t.retsig();
  11. ant.sig=t.sig;
  12.  
  13. }
  14. }
  15. }

Ayuda!  :huh:
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Eliminar nodo de lista?
« Respuesta #14 en: 9 Febrero 2010, 22:15 pm »

y si le colocas al numero un 0 en ves de null y que al mostrar la lista practicamente ese numero este eliminado?

Un Saludo!
En línea

monsefoster

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Re: Eliminar nodo de lista?
« Respuesta #15 en: 10 Febrero 2010, 03:02 am »

No entendi muy bien lo que quisiste decir...

 :huh:
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Eliminar nodo de lista?
« Respuesta #16 en: 10 Febrero 2010, 03:09 am »

ni yo puedo aplicar lo que dijo egyware suena facil decirlo pero hacerlo en el code puff :¬¬ yo estuve viendo pero no le entendi pero nada :xD

Código
  1. Agregar otro Nro?: s
  2. Agregar otro Nro?: s
  3. Agregar otro Nro?: s
  4. Agregar otro Nro?: s
  5. Agregar otro Nro?: s
  6. Agregar otro Nro?: s
  7. Agregar otro Nro?: n
  8. Mostrar Lista:
  9. 55 11 69 26 5 44 27 Valor a buscar:
  10. 69
  11. El numero: 69 esta en la posicion 3 de la lista
  12. Desea hacer otra busqueda S/N: n
  13. Eliminar numero en la posicion:
  14. 3
  15. Eliminado: 69
  16. 55 11 26 5 44 27 Desea Eliminar otro objeto:

a lo que me refiero es que los que esten en 0 osea al valor que vas a aliminar colocalo en 0 y  tomalos como si estubieran eliminados y muestras la lista
« Última modificación: 19 Abril 2010, 22:31 pm por LEYER » En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Eliminar nodo de lista?
« Respuesta #17 en: 10 Febrero 2010, 16:32 pm »

ni yo puedo aplicar lo que dijo egyware suena facil decirlo pero hacerlo en el code puff :¬¬ yo estuve viendo

Y eso que te di la solución, COPY/PASTE osbiamente sin tu menú
vaya que has salido porfiado mi idea no era solucionarte el codigo es que APRENDAS como es toda esta cosa a nosotros el profresor nos hizo dibujar todo eso  antes de aplicar el codigo y aprendi creo que el 90% de la clase aprendio bien  aplicar los nodos.

Citar
a lo que me refiero es que los que esten en 0 osea al valor que vas a aliminar colocalo en 0 y  tomalos como si estubieran eliminados y muestras la lista
Pero siguen en la lista ocupando memoria, eso no es eliminar eso es ocultar -.-

Código
  1. //Veamos
  2. public /*lista*/void eliminar (int n){ /*Modifico el tipo porque modifica la estructura interna y no devuelve una nueva lista*/
  3. int pos=1;
  4. numero t=i;
  5. if (t!=null){//Esto esta bien comprobar siempre la lista no esta vacia
  6.              if(n==0){//Caso particular, es el primero
  7.                     //Como almacenamos previamente el primero de la lista, lo desligamos de la lista
  8.                     i = i.retsig();  // i = i.siguiente
  9.                     t.setsig(null); // t.siguiente = null
  10.                     //Ahora desicion tuya que haces con t, nodo eliminado
  11.                     System.out.println("Nodo[0]="+t.retx()+",eliminado");
  12.              }else{
  13.                     //Buscar el anterior
  14.                     for(;pos<=n-1;pos++){
  15.                        if(t==null)//llegamos al final
  16.                             return;//salimos sin exito T_T
  17.                        t = t.retsig();  
  18.                     }
  19.                     /*encontramos el anterior y ahora que hacemos  es guardar el nodo a borrar que es justamente el siguiente*/
  20.                     numero borrar = t.retsig();                
  21.                     //lo desenlazamos
  22.                     t.setsig(t.retsig().retsig());//t.siguiente = t.siguiente.siguiente
  23.                     /*Terminamos de desenlazar para que el nodo extraido no apunte a ninguna parte de la lista*/
  24.                     borrar.setsig(null);//t.siguiente = null
  25.                     System.out.println("Nodo["+n+"]="+borrar.retx()+",eliminado");
  26.              }
  27. }
  28.  
Bueno eso seria para borrar espero no haberme equivocado ya que no lo he probado, fijate que explique el codigo y use el mismo algoritmo que propuse antes. Te recomiendo ALTAMENTE que hagas una representacion grafica (como el dibujo que te mostre antes) y elijas un nodo cualquiera, y que escribas los pasos con cualquier algoritmo de como borrarlo.
Haslo!!!


Saludos
« Última modificación: 10 Febrero 2010, 17:09 pm por egyware » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejemplo de lista con nodo
Java
robiiii 1 3,113 Último mensaje 26 Julio 2012, 19:32 pm
por leogtz
Ayuda con funcion insertar nodo en lista!!!
Programación C/C++
mathias_vg 5 2,459 Último mensaje 10 Octubre 2015, 22:24 pm
por ivancea96
regresar al primer nodo de lista
Programación C/C++
d91 2 1,927 Último mensaje 20 Octubre 2015, 18:24 pm
por d91
Eliminar nodo en lista enlazada: problema con el último nodo [C]
Programación C/C++
Rhessus 2 5,303 Último mensaje 20 Julio 2016, 06:08 am
por Rhessus
Lista simple eliminar nodo segun un valor
Programación C/C++
Beginner Web 2 1,656 Último mensaje 15 Septiembre 2018, 09:00 am
por Beginner Web
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines