Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS ESTRUCTURAS DE DATOS I TITULO DEL TEMA Proyecto Final: Estructuras de Datos Tipo Pila y Colas Prof. Yolanda de Miguelena INTEGRANTES: Rivera Ruben 8-1003-856 Sánchez Omar 8-974-1975 Murcia Luis 8-894-1472 Michael Aparicio 8-1011-1944 FECHA: 14/11/2022 PROGRAMA FUENTE Principal: import java.util.*; // METODO PARA LA PRESENTACIÓN public class principal { static void presentar() { System.out.println("UNIVERSIDAD TECNOLOGICA DE PANAMÁ"); System.out.println("FACULTAD EN SISTEMAS COMPUTACIONALES"); System.out.println("DEPARTAMENTO DE COMPUTACION Y SIMULACION DE SISTEMAS"); System.out.println("\t ESTRUCTURA DE DATOS I"); System.out.println("\t PROYECTO FINAL"); System.out.println("\t GRUPO:"); System.out.println(" 1LS113"); System.out.println("\t INTEGRANTES:"); System.out.println(" OMAR SANCHEZ 8-974-1976, RUBEN RIVERA 8-1003-856,"); System.out.println(" LUIS MURCIA 8-894-1472 Y MICHAEL APARICIO 8-1011-1944 "); System.out.println("\t PROFESORA: "); System.out.println(" YOLANDA DE MIGUELENA"); System.out.println("\t FECHA DE ENTREGA"); System.out.println(" SEMANA 15"); public static void main(String[] args) { int menu = 0; int menu1 = 0; int menu2 = 0; Pila op = new Pila(); cola op2 = new cola(); Scanner sc = new Scanner(System.in); try { do { System.out.println("----MENU PRINCIPAL----\n"); System.out.println("----OPERACIONES CON ESTRUCTURAS DE DATOS LINEALES----\n"); System.out.println("\t\t1. HOJA DE PRESENTACION\n"); System.out.println("\t\t2. OPERACIONES CON PILAS\n"); System.out.println("\t\t3. OPERACIONES CON COLAS SIMPLE\n"); System.out.println("\t\t4. SALIR \n"); System.out.println("Ingrese una opcion: "); menu = sc.nextInt(); // Se le da valor a menu switch (menu) { case 1: principal.presentar(); break; case 2: do { System.out.println("----MENU PRINCIPAL----\n"); System.out.println("----OPERACIONES CON PILAS----\n"); System.out.println("\t\t1. INSERTAR ELEMENTOS A LA PILA\n"); System.out.println("\t\t2. ELIMINAR ELEMENTOS A LA PILA\n"); System.out.println("\t\t3. MOSTRAR PILA\n"); // INCLUIR EL VALOR DE TOPE System.out.println("\t\t4. RETORNAR \n"); // REGRESAR AL MENU PRINCIPAL menu1 = sc.nextInt(); // Se le da valor a menu switch (menu1) { case 1: op.InserNodo(); System.out.println("Los valores de la pila son: "); op.verificarPila(); break; case 2: op.eliminarNodo(); break; case 3: System.out.println("Los valores de la pila son: "); op.MostrarNodo(); break; case 4: break; default: System.out.println("Opcion no valida, recuerde que es del 1 al 4"); break; } } while (menu1 != 4); break; case 3: do { System.out.println("----MENU PRINCIPAL----\n"); System.out.println("----OPERACIONES CON COLA SIMPLE----\n"); System.out.println("\t\t1. INSERTAR ELEMENTOS A LA COLA SIMPLE\n"); System.out.println("\t\t2. ELIMINAR ELEMENTOS A LA COLA SIMPLE\n"); System.out.println("\t\t3. MOSTRAR COLA SIMPLE\n");//INCLUIR EL INICIO Y FINAL System.out.println("\t\t4. RETORNAR \n"); // REGRESAR AL MENU PRINCIPAL menu2 = sc.nextInt(); // Se le da valor a menu switch (menu2) { case 1: op2.InserCola(); System.out.println("Los valores de la cola son: "); op2.verificarCola(); break; case 2: op2.eliminarCola(); break; case 3: System.out.println("Los valores de la cola simple son: "); op2.monstrarCola(); break; case 4: break; default: System.out.println("Opcion no valida, recuerde que es del 1 al 4"); break; } } while (menu2 != 4); break; case 4: break; default: System.out.println("Opcion no valida, recuerde que es del 1 al 4"); break; } } while (menu != 4); System.out.println("FIN DEL PROGRAMA ^_____^ "); } catch (Exception e) { // Si el programa detecta que se introdujo algo distinto a lo que se pide, se // imprime ERROR System.out.println("---ERROR---"); System.out.println("Ingreso un dato no valido"); } // FIN DEL TRY } } // FIN CLASE PRINCIPAL 2 PAGINA CLASE NODO: public class nodo { String Info; // EL QUE AGARRA LA INFORMACIÓN nodo sig; // EL APUNTADOR(SIG) } 3 PAGINA PARA LOS MÉTODOS DE COLAS: import java.util.Scanner; public class cola { Scanner leer = new Scanner(System.in); nodo Pcola; // para saber el primer valor de la cola nodo Ucola; // para saber el ultimo valor de la cola public cola() { // CONSTRUCTOR DE LA COLA Pcola = null; Ucola = null; } // --------------------------------------------- // METODO PARA INSERTAR public void InserCola() { nodo nuevaCol = new nodo(); System.out.println("Ingrese el dato nuevo:"); nuevaCol.Info = leer.nextLine(); if (Pcola == null) { Pcola = nuevaCol; Pcola.sig = null; Ucola = nuevaCol; } else { Ucola.sig = nuevaCol; nuevaCol.sig = null; Ucola = nuevaCol; } System.out.println("El valor se leyo correctamente"); } // --------------------------------------------- // METODO PARA VERIFICAR public void monstrarCola() { int fina = 0, frent = 0; nodo actual = new nodo();actual = Pcola; if (Pcola != null) { frent = 1; while (actual != null) { System.out.print(" " + actual.Info + " "); fina += 1; actual = actual.sig; } } else { System.out.println("La pila esta vacia"); } System.out.println("\n El frente es: " + frent + ", el final es: " + fina); } // -------------------------------------------- // METODO PARA ELIMINAR public void eliminarCola() { nodo Elicola = new nodo(); Elicola = Pcola; if (Elicola != null) { if (Elicola == Pcola) { Pcola = Pcola.sig; } } else { System.out.println("La cola esta vacia"); } System.out.println("El dato se Elimino correctamente"); } // --------------------------------------------- // METODO PARA VERIFICAR public void verificarCola() { nodo actual = new nodo(); actual = Pcola; if (Pcola != null) { // UTILIZAMOS UN IF PARA VERIFICAR SI HAY VALOR EN LA PILA while (actual != null) { System.out.print(" " + actual.Info + " "); actual = actual.sig; } } else { System.out.println("La pila esta vacia"); } System.out.println(""); } } 4 PAGINA PARA LOS METODOS DE PILAS: import java.util.*; public class Pila { Scanner leer = new Scanner(System.in); nodo Pvalor; // --------------------------------------------- // CONSTRUCTOR DE LA PILA public Pila() { Pvalor = null; } // fin del constructor pila // -------------------------------------------- // metodo para insertar los valores public void InserNodo() { nodo nuevo = new nodo(); // se crea un nuevo nodo para insertar nuevos nodo System.out.println("Ingrese el dato nuevo:"); nuevo.Info = leer.nextLine(); nuevo.sig = Pvalor; Pvalor = nuevo; // este indica al programa que el valor de primer dato ingresado ya no sera NULL System.out.println("El valor se leyo correctamente"); } // --------------------------------------------- // METODO PARA MOSTRAR LA PILA public void MostrarNodo() { nodo actual = new nodo(); actual = Pvalor; int conta = 0; if (Pvalor != null) { // UTILIZAMOS UN IF PARA VERIFICAR SI HAY VALOR EN LA PILA while (actual != null) { System.out.println(" " + actual.Info); conta += 1; actual = actual.sig; } } else { System.out.println("La pila esta vacia"); } System.out.println("El tope de la pila es: " + conta); } // --------------------------------------------- public void eliminarNodo() { nodo elimiP = new nodo(); elimiP = Pvalor; if (elimiP != null) { if (elimiP == Pvalor) { Pvalor = Pvalor.sig; } } else { System.out.println("La pila esta vacia"); } System.out.println("El dato se Elimino correctamente"); } // --------------------------------------------- // metodo para verificar public void verificarPila() { nodo actual = new nodo(); actual = Pvalor; if (Pvalor != null) { // UTILIZAMOS UN IF PARA VERIFICAR SI HAY VALOR EN LA PILA while (actual != null) { System.out.println(" " + actual.Info); actual = actual.sig; } } else { System.out.println("La pila esta vacia"); } } } REPORTE DE LA EJECUCIÓN PARA LA OPCIÓN 1 (HOJA DE PRESENTACIÓN) PARA LA OPCIÓN 2(OPERACIONES CON PILAS) PARA INSERTAR CON PILAS // SE INSERTAN 2 DATOS MOSTRAR PILA CON LOS DATOS PARA ELIMINAR DATOS DE LA PILA RETORNAR AL MENÚ PRINCIPAL PARA LA OPCIÓN 3(OPERACIONES CON COLAS SIMPLE) PARA INSERTAR CON COLAS SIMPLE // SE INSERTAN 3 DATOS MOSTRAR COLA SIMPLE CON LOS DATOS Y CON EL FRENTE Y FINAL PARA ELIMINAR DATOS DE COLA SIMPLE
Compartir