• Viernes 8 de Noviembre de 2024, 10:43

Autor Tema:  Listas Circulares Simples (tengo Error)!  (Leído 1663 veces)

digichap28

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
Listas Circulares Simples (tengo Error)!
« en: Jueves 5 de Junio de 2008, 19:12 »
0
Hola  como estan?
Bueno, tengo este programita sobre listas circulares simples que apenas empiezo ver sin ninguna explicacion sobre este tipo de listas.
El compilador me da error en 2 lineas de codigo, cuando lo que deseo es que un nodo que esta apuntando , cambie y apunte a el que esta mas adelante, asi eliminando el que le sigue.
Si no estoy mal el algoritmo se encuentra bien, pero no tengo idea de lo que esta ocurriendo, supongo que debe ser un simple error pero, realmente yo no se cual podria ser ya que estoy como que medio embolatado con este sencillo tema.
Gracias.

Son 2 clases: La del error (a continuacion), y la que crea los nodos (abajo de esta).


Citar
import javax.swing.*;
public class listacircularsimple {
   private node ptr=null;
   
   public void InsertarInicio(int y)
   {
  node p;
  p=new node(y);
 
  p.setNext(ptr);
  ptr=p;
   }
   
  public void InsertarFinal(int y)
   {
  node p;
  node q;
  p=new node(y);
 
  if(ptr==null)
  {
     p.setNext(ptr);
     ptr=p;
  }
  else
  {
     q=ptr;
     while((q.getNext())!= (ptr))
     {
    q=q.getNext();
     }
     q.setNext(p);
     p.setNext(ptr);
  }   
   }
   
  public void RecorrerListacircular(){
         
        node p;
                           
           String s="";
           p=ptr;
                   
           while(p!=ptr){         
           s=s+p.getInfo()+ " ";
        p=p.getNext();
                     }
           JOptionPane.showMessageDialog(null,s);             
                                                        }
                                                       
                                                       
                                                       
     public void EliminarNodoConInfoZ(int z){
         
        node p;
        node q;
           p=ptr;
           
           if(ptr!=ptr){       
           while((p.getInfo())!=z){         
           q=p;
        p=p.getNext();
                     }
           q.getNext()=p.getNext();           
           }
           else{
            JOptionPane.showMessageDialog(null,"Lista vacia.");
           }             
                                         }
                                         
      public void EliminarUltimoNodo(){
         
        node p;
           node q;
           p=ptr;
           
           if(ptr!=ptr){       
           while((p.getNext())!=ptr){         
           q=p;
        p=p.getNext();
                     }
           q.getNext()=ptr;           
           }
           else{
            JOptionPane.showMessageDialog(null,"Lista vacia.");
           }             
                                         }                                                                                         

   
}


===================================================

Citar
public class node {

    private int info=0;
    private node next=null;
       
    public node (int x)
    {
       info = x;
    }

 
     public void setInfo(int y)
    {
       info=y;
    }
   
    public int getInfo()
    {
       return info;
    }
   
    public void setNext(node y)
    {
       next= y;
    }
   
     public node getNext()
    {
       return next;
    }
}
   

digichap28

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
Re: Listas Circulares Simples (tengo Error)!
« Respuesta #1 en: Sábado 7 de Junio de 2008, 00:17 »
0
nadie puede ayudarme?