Subido por HEYNAN MELVIN GOMEZ LOPEZ

Lista enlazada TDA

Anuncio
Lista enlazada TDA
Clase iteradorLista
package listaenlazda;
* @author LENOVO
public class IteradorLista {
NodoLista actual;
IteradorLista(NodoLista n){
actual=n;
}
boolean estaFuera(){
if(actual==null){
return true;
}else{
return false;
}
}
Object obtener(){
return actual.elemento;
}
void avanzar(){
if(!estaFuera()){
this.actual=actual.siguiente;
}
}
}
Clase Lista.java
package listaenlazda;
/**
*
* @author LENOVO
*/
public class Lista {
NodoLista cabecera;
Lista(){
this.cabecera=new NodoLista(null);
}
boolean estaVacia(){
if(cabecera.siguiente == null){
return true;
}else{
return false;
}
}
void insertar(Object o,IteradorLista it){
if(it!=null && it.actual!=null){
it.actual.siguiente=new NodoLista(o,it.actual.siguiente);
}
}
void eliminar(Object o){
IteradorLista it= encontrarPrevio(o);
if(it.actual.siguiente!=null){
it.actual.siguiente= it.actual.siguiente.siguiente;
}
}
IteradorLista encontrarPrevio(Object o){
NodoLista nodo= this.cabecera;
while(nodo.siguiente!=null && nodo.siguiente.elemento.equals(o)){
nodo=nodo.siguiente;
}
return new IteradorLista(nodo);
}
IteradorLista buscar(Object o){
NodoLista nodo= this.cabecera.siguiente;
while(nodo!=null && !nodo.elemento.equals(o)){
nodo=nodo.siguiente;
}
return new IteradorLista(nodo);
}
}
Clase ListaEnlazada.java
package listaenlazda;
/**
*
* @author LENOVO
*/
public class ListaEnlazda {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Lista lista= new Lista();
lista.insertar("Juan ",new IteradorLista(lista.cabecera));
lista.insertar("Werner ",new IteradorLista(lista.cabecera));
lista.insertar("Daniel ",new IteradorLista(lista.cabecera));
lista.insertar("Nehemias ",new IteradorLista(lista.cabecera));
if(lista.estaVacia()){
System.out.print(" Lista Vacia ");
}
else
{
System.out.print(" Lista LLena ");
}
IteradorLista iteradorBuscado =null;
iteradorBuscado= lista.buscar("Juan ");
if(iteradorBuscado!=null && iteradorBuscado.actual!=null){
System.out.print(iteradorBuscado.obtener().toString());
}
else{
System.out.print("Obejto no encontrado");
}
//Eliminar
lista.eliminar("Juan");
//Buscar
iteradorBuscado =null;
iteradorBuscado =lista.buscar("Juan");
if (iteradorBuscado!=null && iteradorBuscado.actual!=null){
System.out.print(iteradorBuscado.obtener().toString());
}
else{
System.out.print("Objeto no encontrado");
}
}
}
Clase NodoLista.java
package listaenlazda;
/**
*
* @author LENOVO
*/
public class NodoLista {
Object elemento;
NodoLista siguiente;
NodoLista(Object o){
elemento=0;
siguiente=null;
}
NodoLista(Object o, NodoLista n){
elemento=o;
siguiente=n;
}
}
Descargar