lunes, 11 de noviembre de 2013

Lista enlazada

clase de nodo

[code]
public class nodo{

private Object dato;
private nodo nodo;

public nodo(){
 dato = null;
 nodo nodo = null;
}
public nodo(Object dato){
 this();
 this.dato = dato;
}
public void setDato(Object dato){
 this.dato = dato;
}

public Object getDato(){
 return dato;
}

public void setNodo(nodo nodo){
 this.nodo = nodo;
}

public nodo getNodo(){
 return nodo;
}
}
[/code]

clase lista

[code]

public class lista{
private nodo cabecera;
private int tamaño;

public lista(){
 tamaño = 0;
 cabecera = new nodo();
}

public int getTamaño(){
 return tamaño;
}

public boolean addDato(Object dato){
 nodo nodoUltimo = getUltimoNodo();
 if(dato != null && nodoUltimo != null){
  nodoUltimo.setNodo(new nodo(dato));
  tamaño ++;
  return true;
 }else{
  return false;
 }
}

private nodo getUltimoNodo(){
 nodo nodoUltimo = null;
 if(cabecera != null){
  nodoUltimo = cabecera;
  while(nodoUltimo.getNodo() != null){
   nodoUltimo = nodoUltimo.getNodo();
  }
 }
 return nodoUltimo;
}

public Object getDato(int pos){
 nodo nodoUltimo = null;
 int contador = 0;
 Object dato = null;
 if(cabecera != null){
  nodoUltimo = cabecera;
  do{
   nodoUltimo = nodoUltimo.getNodo();
   if(contador == pos){
    dato = nodoUltimo.getDato();
    break;
   }else{
    contador++;
   }  
  }while(nodoUltimo.getNodo() != null);
 }
 return dato;
}
}

[/code]

clase main

[code]

public class main {
public static void main(String []args){
 lista lista = new lista();

 //Adjuntando datos
 lista.addDato(2);
 lista.addDato(4);
 lista.addDato(8);
 lista.addDato(16);

 System.out.println("-------Imprimiendo datos-------");

 for(int i = 0;i < lista.getTamaño();i ++){
  System.out.println(lista.getDato(i));
 }
}
}
[/code]



No hay comentarios:

Publicar un comentario