Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Estructura de Datos - Facultad de Ingeniería - Universidad Nacional de Jujuy
- =============================================================================
- */
- /**
- * @Autor: Equipo 5.1 Estructura de Datos.
- /* @Integrantes: | @Carrera: | @DNI:
- | |
- Camacho, Mauro Rodrigo | Ing. Informática | 41.654.090
- Cabana, Mario Ariel Fernando | Ing. Informática | 42.268.639
- Cruz, Facundo Emanuel | Ing. Informática | 41.609.573
- López, Juan Carlos | Ing. Informática | 41.400.550
- Machaca, Aldo Martin | Ing. Informática | 31.455.538
- ? | ? | ?
- * @Ingeniera: Perez Ibarra.
- * @Fecha: 11/10/2020.
- */
- /*
- Trabajo Práctico N°3 / Listas - Cola (Queue) / Ejercicio 3
- --------------------- --------------------- ------------
- * Objetivo General: Crear una función, método o subprograma que reciba como parametro 2 colas y devuelva una cola.
- * Metodología Empleada: Ingresar por consola o aleatoriamente valores para las 2 colas y unirlas en una nueva
- cola de forma sucesiva y alternadamente.
- Se toma un elemento de cada cola y se encola en una nueva.
- * El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers),
- empleando el leguaje de programación Orientado a Objeto Java.
- * Api a utilizar. Paquete:- Java.Util / Clase:- Scanner y - Random.
- * Clase principal: UnirColasIntercalando.
- * Clases secundarias: Cola, Helper.
- */
- public class UnirColasIntercalando {
- //----------Variables para toda la clase Tp03E3----------//
- public static int j,n;
- //------------------- Inicio metodo Run() -------------------//
- public void run() {
- n=5;
- Cola<Character> cola1 = new Cola<Character>(n);
- Cola<Character> cola2 = new Cola<Character>(n);
- char cargar, continuar;
- do {
- System.out.println("Union Intercalada\n=================\nCargar 2 Colas\n------------------");
- for (int i=1; i<3; i++) {
- System.out.print("Cola "+i+": ");
- cargar=Helper.respuestaSN("¿Desea generar caracteres automaticamente?(S/N)");
- comoCargar(cargar, i, cola1, cola2);
- }
- System.out.println("Muestrario\n------------\nCola 1: " + cola1+"\nCola 2: " + cola2);
- System.out.println("La unión Intercalada entre Colas 1 y 2: " +unirColasIntercalando(cola1,cola2));
- continuar = Helper.respuestaSN("¿Desea realizar otra prueba? (S/N)");
- }while (continuar!='N');
- } // Fin metodo run().
- //-------------------Queue - Cargar--------------------//
- public void comoCargar(char rta,int turno, Cola<Character> queue1,Cola<Character> queue2) { // Tipo de carga.
- if (rta=='N') {
- if (turno==1) {
- CargarCaracter(queue1);
- }else {
- CargarCaracter(queue2);
- }
- }else {
- if (turno==1) {
- CargarRandomCola(queue1);
- }else {
- CargarRandomCola(queue2);
- }
- }
- } // Fin como cargar.
- public void CargarCaracter(Cola <Character> colaCaracteres) { // Módulo cargar caracter por consola.
- char valor;
- for (j=0; j<n; j++) {
- valor=Helper.validarLetra();
- colaCaracteres.offer(valor);
- }
- } //Fin cargar por consola.
- public void CargarRandomCola(Cola<Character> randomcola ) { // Módulo cargar caracter aleatoriamente.
- char letrarandom;
- for (j=0; j<n;j++) {
- letrarandom = Helper.letraRandom();
- randomcola.offer(letrarandom);
- }
- } // Fin cargar random.
- //-------------Queue - Unir (Ejercicio 3)--------------//
- public Cola<Object> unirColasIntercalando(Cola<?> queque1 ,Cola<?> queque2){ // Módulo unión de dos Colas sucesivas y alternadamente.
- Cola<Object> auxiliar = new Cola<Object> (queque1.size()+queque2.size());
- while(!queque1.isEmpty()&& !queque2.isEmpty() ){
- auxiliar.offer(queque1.remove());
- auxiliar.offer(queque2.remove());
- }
- return auxiliar;
- } //Fin unión Queue.
- } //Fin de la clase.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement