martes, 21 de febrero de 2017

LISTAS DOBLES

LISTAS ENLAZADAS DOBLES
*INVIERTE EL SENTIDO

NODO
public class Nodo {
    String info;
    public Nodo siguiente;
    public  Nodo anterior;
   
    public Nodo(String dato){
        info=dato;
        anterior = null;
        siguiente= null;
    }
    public void verNodo(){
        System.out.println("( "+info+" )");
    }
}

 LISTAS ENLAZADAS 

public class ListaEnlazada {

    Nodo cabeza;
    Nodo cola;

    public ListaEnlazada() {
        cabeza = null;
        cola = null;
    }

    public boolean vacia() {
        if (cabeza == null) {
            return (true);

        } else {
            return (false);
        }

    }

    public void insertarPrimemro(String dato) {
        Nodo temporal = new Nodo(dato);
        if (vacia()) {
            cabeza = temporal;
            cola = temporal;
        } else {
            temporal.siguiente = cabeza;
            cabeza.anterior = temporal;
            cabeza = temporal;
        }

    }

    public void insertaAlFInal(String dato) {
        Nodo temporal = new Nodo(dato);
        if (vacia()) {
            cabeza = temporal;
            cola = temporal;
        } else {
            cola.siguiente = temporal;
            temporal.anterior = cola;
            cola = temporal;
        }
    }

    public void borrarPrimero() {
        cabeza = cabeza.siguiente;
        cabeza.anterior = null;
    }

    public void borrarUltimo() {
        if (cola.anterior == null) {
            cabeza = null;
            cola = null;
        } else {
            cola = cola.anterior;
            cola.siguiente = null;

        }
    }

    public String Listar() {
        String Dato = "";
        Nodo axu = cola;
        while (axu != null) {
            Dato += "{" + axu.info + "}";
            axu = axu.anterior;
        }
        return (Dato);
    }

    public String ListarCola() {
        String Dato = "";
        Nodo axu = cabeza;
        while (axu != null) {
            Dato += "{" + axu.info + "}";
            axu = axu.siguiente;
        }
        return (Dato);
    }


MAIN


}

public class Princnipal {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
   
 
        
        
        ListaEnlazada miLista = new ListaEnlazada();
        miLista.insertarPrimemro("jabon");
        miLista.insertarPrimemro("kolinos");
        miLista.insertarPrimemro("detergente");
        miLista.insertarPrimemro("cepilo");
        miLista.insertarPrimemro("toalla");
      
        System.out.println(miLista.Listar());
       System.out.println(miLista.ListarCola());
     
    }
    
}

No hay comentarios.:

Publicar un comentario