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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ejemplo de lista con nodo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ejemplo de lista con nodo  (Leído 3,110 veces)
robiiii

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ejemplo de lista con nodo
« en: 25 Julio 2012, 22:52 pm »

el codigo es el siguiente:


public class nodo {
   protected int  info;
   protected nodo nexo;
   
   nodo() {}
   nodo(int info) {
      this.info = info;
      this.nexo = null;
   }}
public class Lista extends nodo {
   nodo Inicio, Ultimo;
   
   Lista()
   {
      Inicio= null;
      Ultimo= null;
   }
   
   public void agregar(nodo nuevo)
   {
      if(Ultimo==null)
          Inicio = nuevo;
      else       
          Ultimo.nexo = nuevo;
      Ultimo = nuevo;
   }
   
   public void mostrar()
   {
      System.out.print("Lista");
      nodo p=Inicio;
      while(p!=null) {
         System.out.print(" - " + p.info);
         p = p.nexo;
      }
      System.out.println();
   }
   
   // METODOS QUE FALTAN POR CODIFICAR
   
   public boolean existeNodoCon(int info)
   {
       nodo p=Inicio;
       while(p!=null)
       {
           if(p.info==info)
           {
               return true;
           }
           p=p.nexo;
       }
       return false;
   }
   
   public void eliminaPrimero()
   {
       if(Ultimo!=null)
       {
           if(Inicio.nexo==null)
           {
               Inicio=null;
               Ultimo=null;
           }
           else
           {
               Inicio=Inicio.nexo;
           }
       }
   }
   
   public void eliminaUltimo()
   {
       nodo p=Inicio;
       while(p!=Ultimo)
       {
           if(p.nexo==Ultimo)
           {
               p.nexo=null;
               Ultimo=p;
           }
           else
           {
               p=p.nexo;
           }
       }
   }
   
 
   public void muestraAlreves()
   {
       Alveres(Inicio);
       System.out.println();
   }
   
 
   private void Alveres(nodo p)
   {
       if(p.nexo==null)
       {
           System.out.print(p.info+"-");       }
       else
       {
           Alveres(p.nexo);
           System.out.print(p.info+"-");
       }   }     
 public boolean vacia()
   {
       if(Inicio==null)
       {
           return true;
       }
       else return false;
   }
      public void EliCon(int dato)
   {
       nodo ant=Inicio;
       nodo p=Inicio;
       while(p!=null)
       {
           if(p.info==dato)
           {
               if(p==Inicio)
               {
                   eliminaPrimero();
               }
               else
               {                   ant.nexo=p.nexo;
                   p=p.nexo;
               }           }
           else
           {               ant=p;
               p=p.nexo;
           }       }   }
      public void Inter(int dato)
   {
       nodo p=Inicio;
       nodo ant=Inicio;
       nodo q,r;
       while(p!=null)
       {
           if(p.info==dato)
           {
               if(p==Inicio)
               {
                   q=p.nexo;
                   r=q.nexo;
                   Inicio=q;
                   Inicio.nexo=p;
                   p.nexo=r;
                   ant=p;
                   p=p.nexo;
               }
               else
               {
                   if(p.nexo!=null)
                   {
                       q=p.nexo;
                       r=q.nexo;
                       p.nexo=r;
                       ant.nexo=q;
                       q.nexo=p;
                       ant=p;
                       p=p.nexo;
                                 }   } }
           else{
           ant=p;
           p=p.nexo;}
       }   }}


public class principal{
   public static void main(String args[]) {                                     
     
     Lista miLista = new Lista ();                                                         
     nodo nuevo;
       int  info=0, inf;
     
     for(int i=0; i<10; i++) {                         
         if(Math.random()>0.7) info = 12;               
         else info = 10 + (int)(Math.random()*90);       
         nuevo = new nodo(info);
         miLista.agregar(nuevo);
         miLista.mostrar();
        }
        miLista.EliCon(12);                               
        miLista.mostrar();                                 
       
        System.out.println();
        while(!miLista.vacia()) miLista.eliminaPrimero(); 

     

        for(int i=0; i<10; i++) {                         
            if(Math.random()>0.7) info = 12;               
            else info = 10 + (int)(Math.random()*90);       
            nuevo = new nodo(info);
            miLista.agregar(nuevo);
            miLista.mostrar();
        }
        miLista.Inter(12);                                 
        miLista.mostrar();                                 
       
     
        System.out.println();
       while(!miLista.vacia()) miLista.eliminaPrimero(); 


    for(int i=0; i<10; i++) {                         
        if(Math.random()>0.7) info = 12;               
        else info = 10 + (int)(Math.random()*90);       
        if(i==8) info =12;                             
        nuevo = new nodo(info);
        miLista.agregar(nuevo);
        miLista.mostrar();
    }
    miLista.Inter(12);                                 
    miLista.mostrar();                                 

     
      System.out.println();                                                     
      inf = info;                                                               
                                                                               
      System.out.print("nodo de contenido " + inf);     
      if(miLista.existeNodoCon(info)) System.out.println(" esta");         
      else                            System.out.println(" No esta");         
                                                                                 
      info = 10 + (int)(Math.random()*90);                                       
      System.out.print(" nodo de contenido " + info);   
      if(miLista.existeNodoCon(info)) System.out.println(" esta");         
      else                            System.out.println(" No esta");         
                                                                                 
      System.out.print("elimina el primer nodo ");                     
      miLista.eliminaPrimero();                                                 
      miLista.mostrar();                                                         
                                                                                 
      System.out.print("elimina ultimo nodo  ");                     
      miLista.eliminaUltimo();                                                   
      miLista.mostrar();                                                         
                                                                                 
      System.out.print("mostrando al reves  ");                       
      miLista.muestraAlreves();                                                 
                                                                                 
   }                                                                             
}                                                                               



En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: ejemplo de lista con nodo
« Respuesta #1 en: 26 Julio 2012, 19:32 pm »

Utiliza la etiqueta GeSHi para colorear el código, lee las reglas.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda en nodo de lista circular
Java
apolo85 3 4,987 Último mensaje 28 Noviembre 2009, 03:57 am
por egyware
Eliminar nodo de lista? « 1 2 »
Java
monsefoster 17 47,311 Último mensaje 10 Febrero 2010, 16:32 pm
por egyware
Ayuda con funcion insertar nodo en lista!!!
Programación C/C++
mathias_vg 5 2,456 Último mensaje 10 Octubre 2015, 22:24 pm
por ivancea96
regresar al primer nodo de lista
Programación C/C++
d91 2 1,923 Ú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,297 Último mensaje 20 Julio 2016, 06:08 am
por Rhessus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines