ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

EjercicioPilas


Enviado por   •  30 de Septiembre de 2021  •  Tarea  •  2.989 Palabras (12 Páginas)  •  60 Visitas

Página 1 de 12

package EjercicioPilas;

public class Principal {

    public static void main(String[] args) {

        Pila p = new Pila();

        p.Apilar(6);

        p.Apilar(5);

        p.Apilar(4);

        p.Apilar(2);

        p.Apilar(1);

        Pila p2 = new Pila();

        p2.Apilar(9);

        p2.Apilar(6);

        p2.Apilar(3);

        p2.Apilar(2);

        Pila x = new Pila();

        x.Apilar("C");

        x.Apilar("B");

        x.Apilar("A");

        System.out.println("Pila 1\n"+ p.Mostrarpila());

        System.out.println("Pila 2\n"+ p2.Mostrarpila());

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

        p.DesapilaRepetidos(p, p2);

        System.out.println("Pila 1 \n" + p.Mostrarpila());

        System.out.println("Pila 2 \n"+ p2.Mostrarpila());

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

        System.out.println("Palabra \n"+x.Mostrarpila());

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

        x.ConvertirCap(x);

        System.out.println("Pila de forma Capicua \n"+x.Mostrarpila());

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

        x.Capicua(x);

        System.out.println("Capicua "+x.Mostrarpila());

       

    }

   

}

package EjercicioPilas;

public class Pila {

    private Nodo cima; //es el ultimo es salir

    private int tamanio;

    public Pila() {

        this.cima = null;

        this.tamanio = 0;

    }

    public Nodo getCima() {

        return cima;

    }

    public void setCima(Nodo cima) {

        this.cima = cima;

    }

    public int getTamanio() {

        return tamanio;

    }

    public void setTamanio(int tamanio) {

        this.tamanio = tamanio;

    }

    @Override

    public String toString() {

        return "\ncima: " + cima + "\nTamanio: " + tamanio;

    }

    public boolean vacia() {

        return cima==null;              

    }

    public void Apilar(Object info) {//es como un insertar

        Nodo nuevo = new Nodo(info);

        nuevo.setSiguiente(cima); //aqui cima sigue en null

        cima=nuevo; //cima toma el valor de nuevo y nuevo sigue a puntando a null

        tamanio++;

 

    }

   

    public void Desapilar(){

        if (!vacia()) {

           cima=cima.getSiguiente();

           tamanio--;

        }

    }

   

    public void VaciarPila() { //es para limpiar toda la pila

        //esto va a ser verdadero cuando no haya un valor

        while (!vacia()) {

            Desapilar();

           

        }

    }

   

    public String Mostrarpila() {

        String pila="";

        if (!vacia()) {

            Nodo aux = cima;

            while(cima != null) {

                pila+=cima.getInfo()+"\n";

                cima=cima.getSiguiente(); //aqui cima esta de nuevo en null

               

            }

            cima=aux;

        }

        return pila;

    }

    public void Ejercicio1(Pila p, int n) {

        Pila aux = new Pila();

        if (!vacia()) {

            while (!p.vacia()) {

                aux.Apilar(p.getCima().getInfo());

                p.Desapilar();

            }

            while (aux.getCima() != null) {

                for (int i = 0; i < n; i++) {

                    p.Apilar(aux.cima.getInfo());

                }

                aux.Desapilar();

            }

        }

    }

    public int Buscar_menor(Pila p) {

        int menor = (int) p.cima.getInfo();

        if (!vacia()) {

            Nodo aux = p.cima;

            while (aux != null) {

                if ((int) aux.getInfo() < menor) {

                    menor = (int) aux.getInfo();

                }

                aux = aux.getSiguiente();

                {

                }

            }

        }

        return menor;

    }

    public void Ejercicio2(Pila p) {

        if (!vacia()) {

            Pila aux = new Pila();

            int menor = Buscar_menor(p);

            while (p.getCima() != null) {

                int x=(int) p.getCima().getInfo();

                if (x != menor){

                    aux.Apilar(x);

                }

                p.Desapilar();

            }

            p.Apilar(menor);

            while(aux.getCima()!=null) {

                p.Apilar(aux.getCima().getInfo());

                aux.Desapilar();

            }

        }

    }

   

    public void DesapilaRepetidos(Pila p, Pila p2) {

        Pila x = new Pila();

...

Descargar como (para miembros actualizados) txt (8 Kb) pdf (36 Kb) docx (9 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com