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(); } } |
No hay comentarios:
Publicar un comentario