sábado, 27 de agosto de 2011

Oración a la Virgen de Urkupiña

Oración a la virgen de la Urkupiñá

Ejercicios Pilas

Ejercicios Pilas
 Ejemplo 1  

Dada una pila de cadenas ordenar los elementos alfabéticamente:

Ejemplo:

Programando……..

Código java

class PilaCola {
      int max = 50;
      String v[] = new String[max];
}


class Pila extends PilaCola {
      private int tope;

      public Pila() {
            tope = 0;
      }

     


      public boolean esvacia() {
            if (tope == 0)
                  return (true);
            return (false);
      }
      public boolean esllena() {
            if (tope == max)
                  return (true);
            return (false);
      }
      public int nroelem() {
            return (tope);
      }
      public void adicionar(String elem) {
            if (!esllena()) {
                  tope++;
                  v[tope] = elem;
            } else
                  System.out.println("Pila llena");
      }

      public String eliminar() {
            String elem = "";
            if (!esvacia()) {
                  elem = v[tope];
                  tope--;
            } else
                  System.out.println("Pila vacia");
            return (elem);
      }

      public void vaciar(Pila a) {
            while (!a.esvacia())
                  adicionar(a.eliminar());
      }

      public void mostrar() {
            String elem;
            if (esvacia())
                  System.out.println("Pila vacia");
            else {
                  System.out.println("\n Datos de la Pila ");
                  Pila aux = new Pila();
                  while (!esvacia()) {
                        elem = eliminar();
                        aux.adicionar(elem);
                        System.out.println("\t" + elem);
                  }
                  vaciar(aux);
            }
      }

      public void llenar(int n) {
            int i;
            System.out.println("intro datos pila");
            for (i = 1; i <= n; i++) {
                  String x = Leer.dato();
                  adicionar(x);
            }
      }
}

class Programa {
      static void ordena(Pila a) {
            Pila aux = new Pila();
            Pila aux1 = new Pila();
            String e,e1="";
            while (!a.esvacia()) {
                  e = a.eliminar();
                  while (!a.esvacia()) {
                        e1 = a.eliminar();
                        if (e.compareTo(e1) > 0) {
                             String e2 = e;
                             e = e1;
                             e1 = e2;
                        }
                        aux.adicionar(e1);
                  }
                  aux1.adicionar(e);
                  a.vaciar(aux);
            }
            a.vaciar(aux1);
      }
     
      static void ordena_char(Pila a) {
            Pila aux = new Pila();
            Pila aux1 = new Pila();
            String e,e1="";
            while (!a.esvacia()) {
                  e = a.eliminar();
                  while (!a.esvacia()) {
                        e1 = a.eliminar();
                        if (e.charAt(0)>e1.charAt(0)) {
                             String e2 = e;
                             e = e1;
                             e1 = e2;
                        }
                        aux.adicionar(e1);
                  }
                  aux1.adicionar(e);
                  a.vaciar(aux);
            }
            a.vaciar(aux1);
      }
     
      public static void main(String[] args) {
            Pila a = new Pila();
            System.out.println("Introdusca numero de elementos:");
            int n = Leer.datoInt();
            a.llenar(n);
            a.mostrar();
            System.out.println(".........ordenando utilizando COMPARETO.......");
            System.out.println("pila ordenada............");
            ordena(a);
            a.mostrar();
           





System.out.println("..............................................................");
            Pila b = new Pila();
            System.out.println("Introdusca numero de elementos:");
            n = Leer.datoInt();
            b.llenar(n);
            b.mostrar();
            System.out.println(".........ordenando utilizando CHAR AT().......");
            System.out.println("pila ordenada............");
            ordena_char(b);
            b.mostrar();
      }
}


Captura de pantalla….- Utilizando COMPARETO.