jueves, 13 de agosto de 2015

Pila en java

Generar una pila, y aplicar métodos de insertar, eliminar y modificar.
Código aquí


package pilasejemplo;

import pilasejemplo.PilasEjemplo.pila.Nodo;

public class PilasEjemplo {

    static class pila {

        static class Nodo {

            int dato;
            Nodo sig;
        }
    }

    public static void main(String[] args) {
//Crear
        int n = 5;
        int m = 2;
        Nodo top = null;
        for (int i = 1; i <= n; i++) {
            Nodo temp = new Nodo();
            temp.dato = m * i;
            if (top == null) {
                temp.sig = null;
            } else {
                temp.sig = top;
            }
            top = temp;
        }
//imprime
        Nodo temp = top;
        System.out.println("Pila");
        while (temp != null) {
            System.out.println(temp.dato);
            temp = temp.sig;
        }
//ingresar
        int ingresar = 12;
        Nodo tempIng = new Nodo();
        tempIng.dato = ingresar;
        tempIng.sig = top;
        top = tempIng;
//imprime
        temp = top;
        System.out.println("Pila ingresada el elemento " + ingresar);
        while (temp != null) {
            System.out.println(temp.dato);
            temp = temp.sig;
        }
//Modificar
        Nodo pilat2 = null;
        int buscar2 = 8;
        int modificar = 99;
        temp = top;
        Nodo temp2 = new Nodo();

        while (temp.dato != buscar2) {
            temp2 = new Nodo();
            temp2.dato = temp.dato;//volcado
            if (pilat2 == null) {
                temp2.sig = null;
            } else {
                temp2.sig = pilat2;

            }
            pilat2 = temp2;
            top = top.sig;
            temp = top;

        }

        top.dato = modificar; // Modifico
        temp2 = pilat2;
        while (temp2 != null) {
            temp = new Nodo();
            temp.dato = temp2.dato;
            if (top == null) {
                temp.sig = null;
            } else {
                temp.sig = top;

            }
            top = temp;
            pilat2 = pilat2.sig;
            temp2 = pilat2;

        }
//imprime
        temp = top;
        System.out.println("Pila modificada el elemento " + buscar2 + " por " + modificar);
        while (temp != null) {

            System.out.println(temp.dato);
            temp = temp.sig;
        }
//Eliminar   
        Nodo pilat = null;
        int buscar = 6;

        temp = top;
        Nodo temp1 = new Nodo();

        while (temp.dato != buscar) {
            temp1 = new Nodo();
            temp1.dato = temp.dato;//volcado
            if (pilat == null) {
                temp1.sig = null;
            } else {
                temp1.sig = pilat;
            }
            pilat = temp1;
            top = top.sig;
            temp = top;

        }
        top = top.sig; // Elimino
        temp1 = pilat;
        while (temp1 != null) {
            temp = new Nodo();
            temp.dato = temp1.dato;
            if (top == null) {
                temp.sig = null;
            } else {
                temp.sig = top;
            }
            top = temp;
            pilat = pilat.sig;
            temp1 = pilat;

        }
//imprime
        temp = top;
        System.out.println("Pila eliminada el elemento " + buscar);
        while (temp != null) {

            System.out.println(temp.dato);
            temp = temp.sig;
        }
    }

}

Corrida


No hay comentarios:

Publicar un comentario