Programación General > Java

 Problemas Para Eliminar Nodo !!! Help

(1/1)

digichap28:
Hola, que tal?
Bueno , tengo un problema con este ejercicio que me pidieron, este codigo corre si quiero eliminar todos los datos en una lista circular simple o sencilla , con excepcion de estos casos:

*Cuando el nodo se encuentra en la primera posicion y se desea eliminar ese, dejando apuntado el siguiente nodo, por ptr.

*Cuando solo existe un nodo y se desea eliminar ese, dejando la lista en null.

Por favor necesito un poco de ayuda con eso, si son tan amables.
Gracias.


--- Citar --- public void EliminarNodoConInfoZ(int z){
         
        node p;
        node q;
           
           if(ptr==null){
           JOptionPane.showMessageDialog(null,"Lista vacia.");
           }
           else{
           p=ptr;
           q=p;
           
           while(z!=(p.getInfo())){
           q=p;
        p=p.getNext();
           
           }
           
            q.setNext(p.getNext());   
                       
           }
                                         }
--- Fin de la cita ---

manix:
Amigo ya hace tiempo otro compañero tenia el mismo problema que vos, por eso aca te dejo este tutorial, todas las lineas estan detalladas


saludos

digichap28:
Se supone que el codigo o la parte logica esta bien!!
Pero ahora lo que hace es que si intento eliminar el primer nodo , lo pone en la ultima posicion de la lista circular!!

Ayuda!!


--- Citar ---public void EliminarNodoConInfoZ(int z){
         
        node p;
        node q;
           boolean primernodo;
           
           if(ptr==null){
           JOptionPane.showMessageDialog(null,"Lista vacia.");
           }
           else{
           p=ptr;
           q=p;
           primernodo=true;
           while(z!=(p.getInfo())){
           q=p;
        p=p.getNext();
           primernodo=false;
           }
            if(primernodo){
                if(p.getNext=ptr){
                   ptr=null;
                }
                else{
                 ptr=p.getNext();   
                }
                         
            }
            else{
              q.setNext(p.getNext());   
            }
               
                     
           }
                                         }
--- Fin de la cita ---

Navegación

[0] Índice de Mensajes

Ir a la versión completa