Advertisement
FacundoCruz

TP3E3

Oct 11th, 2020 (edited)
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.66 KB | None | 0 0
  1. /* Estructura de Datos - Facultad de Ingeniería - Universidad Nacional de Jujuy
  2. =============================================================================
  3. */
  4.  
  5. /**
  6. * @Autor: Equipo 5.1 Estructura de Datos.
  7. /*      @Integrantes:                |    @Carrera:             |   @DNI:
  8.                                      |                          |
  9. Camacho, Mauro Rodrigo               | Ing. Informática         | 41.654.090
  10. Cabana, Mario Ariel Fernando         | Ing. Informática         | 42.268.639
  11. Cruz, Facundo Emanuel                | Ing. Informática         | 41.609.573
  12. López, Juan Carlos                   | Ing. Informática         | 41.400.550
  13. Machaca, Aldo Martin                 | Ing. Informática         | 31.455.538
  14.          ?                           |         ?                |     ?
  15.  
  16. * @Ingeniera: Perez Ibarra.
  17. * @Fecha: 11/10/2020.
  18. */
  19.  
  20. /*
  21.  Trabajo Práctico N°3 / Listas - Cola (Queue) / Ejercicio 3
  22. ---------------------   ---------------------   ------------
  23. * Objetivo General: Crear una función, método o subprograma que reciba como parametro 2 colas y devuelva una cola.
  24. * Metodología Empleada: Ingresar por consola o aleatoriamente valores para las 2 colas y unirlas en una nueva
  25.                         cola de forma sucesiva y alternadamente.
  26.                         Se toma un elemento de cada cola y se encola en una nueva.  
  27. * El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers),
  28.   empleando el leguaje de programación Orientado a Objeto Java.
  29. * Api a utilizar. Paquete:- Java.Util / Clase:- Scanner y - Random.
  30. * Clase principal: UnirColasIntercalando.
  31. * Clases secundarias: Cola, Helper.
  32. */
  33.  
  34. public class UnirColasIntercalando {
  35.      
  36.     //----------Variables para toda la clase Tp03E3----------//
  37.         public static int j,n;
  38.        
  39.     //------------------- Inicio metodo Run() -------------------//  
  40.        
  41.         public void run() {
  42.             n=5;
  43.             Cola<Character> cola1 = new Cola<Character>(n);
  44.             Cola<Character> cola2 = new Cola<Character>(n);
  45.             char cargar, continuar;
  46.             do {
  47.                    System.out.println("Union Intercalada\n=================\nCargar 2 Colas\n------------------");
  48.                    for (int i=1; i<3; i++) {
  49.                        System.out.print("Cola "+i+": ");
  50.                        cargar=Helper.respuestaSN("¿Desea generar caracteres automaticamente?(S/N)");
  51.                        comoCargar(cargar, i, cola1, cola2);
  52.                    }    
  53.                    System.out.println("Muestrario\n------------\nCola 1: " + cola1+"\nCola 2: " + cola2);
  54.                    System.out.println("La unión Intercalada entre Colas 1 y 2: " +unirColasIntercalando(cola1,cola2));
  55.                    continuar = Helper.respuestaSN("¿Desea realizar otra prueba? (S/N)");
  56.                    }while (continuar!='N');
  57.            } // Fin metodo run().
  58.     //-------------------Queue - Cargar--------------------//
  59.        
  60.         public void comoCargar(char rta,int turno, Cola<Character> queue1,Cola<Character> queue2) {  // Tipo de carga.
  61.             if (rta=='N') {
  62.                if (turno==1) {
  63.                         CargarCaracter(queue1);    
  64.                }else {
  65.                         CargarCaracter(queue2);
  66.                 }
  67.            }else {
  68.                if (turno==1) {
  69.                     CargarRandomCola(queue1);
  70.                 }else {
  71.                         CargarRandomCola(queue2);
  72.                 }
  73.            }
  74.         } // Fin como cargar.
  75.        
  76.         public void CargarCaracter(Cola <Character> colaCaracteres) {  // Módulo cargar caracter por consola.    
  77.             char valor;
  78.             for (j=0; j<n; j++) {
  79.                 valor=Helper.validarLetra();                        
  80.                 colaCaracteres.offer(valor);
  81.             }
  82.         }  //Fin cargar por consola.
  83.              
  84.         public void  CargarRandomCola(Cola<Character> randomcola ) {  // Módulo cargar caracter aleatoriamente.
  85.              char letrarandom;
  86.              for (j=0; j<n;j++) {    
  87.                  letrarandom = Helper.letraRandom();
  88.                  randomcola.offer(letrarandom);
  89.                  }  
  90.             } // Fin cargar random.
  91.        
  92.     //-------------Queue - Unir (Ejercicio 3)--------------//
  93.        
  94.         public Cola<Object> unirColasIntercalando(Cola<?> queque1 ,Cola<?> queque2){  // Módulo unión de dos Colas sucesivas y alternadamente.
  95.             Cola<Object>  auxiliar = new Cola<Object> (queque1.size()+queque2.size());
  96.             while(!queque1.isEmpty()&& !queque2.isEmpty() ){
  97.                 auxiliar.offer(queque1.remove());        
  98.                 auxiliar.offer(queque2.remove());
  99.             }
  100.             return auxiliar;  
  101.         } //Fin unión Queue.
  102.          
  103.     } //Fin de la clase.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement