Cabana_Mario_Ariel_F

TP4E2_casiDefinitivo

Oct 28th, 2020 (edited)
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.33 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. Soto, Sofía Alejandra               | Ing. Informática         | 40.442.283
  15. Vilca, Sergio Esteban                | Ing. Informática         | 39.200.406
  16.  
  17. * @Ingeniera: Perez Ibarra.
  18. * @Fecha: 27/10/2020.
  19. */
  20.  
  21. /*
  22.  Trabajo Práctico N°4 / Listas – Lista Genérica, Lista Ordenada / Ejercicio 2
  23. ---------------------   ---------------------------------------   ------------
  24. * Objetivo General: Implementar a una Pila genérica la estructura de una lista genérica.
  25. * Metodología Empleada: Integrar todos los metodos o valores para testear una pila con estructura de lista.
  26.                         Se utiliza Lista Enlazada Simple escrita de forma manual en Pila.  
  27.                         Se utiliza Lista Enlazada Doble de teoria, para mostrar la pila y simular el método peek.
  28. * El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers),
  29.   empleando el leguaje de programación Orientado a Objeto Java.
  30. * Api a utilizar. Paquete:- Java.Util / Clase:- Scanner, - Random, -Iterator.
  31. * Clase principal: PilaImpletaListaEnlazada.
  32. * Clases secundarias: Pila, NodoPila, DoubleLinkedList, Helper.
  33. * Interfaces: ILinkedList.
  34. */
  35. import java.util.Iterator;
  36.  
  37. public class PilaImpletaListaEnlazada {
  38.     //------------------- Inicio método Run() --------------------//
  39.    
  40.     public static void main(String[] args) {
  41.  
  42.         int respuesta,numero=0;
  43.         DoubleLinkedList<Integer> pila2=new DoubleLinkedList<>();
  44.         Pila pila1= new Pila();
  45.         int longitud=0;
  46.        
  47.         do {
  48.             menu();
  49.             respuesta=Helper.numeroEntero("Ingrese una opción ........ : ");
  50.             if ((respuesta==1)||(respuesta==2)) {      
  51.                 longitud= Helper.numeroEnteroPositivo("Ingrese la cantidad de elementos a insertar a la Pila......: ");
  52.             }
  53.             switch(respuesta){
  54.             case 1 :
  55.                 cargarPila(pila1,longitud);
  56.                 cargarPilasu(pila2,longitud);
  57.                 break;
  58.             case 2 :
  59.                 cargaPilaRandom(pila1,longitud);
  60.                 cargaPilasuRandom(pila2,longitud);
  61.                 break;
  62.             case 3:
  63.                 System.out.println("El elemento extraido es: "+pila1.pop());
  64.                 System.out.println("El elemento extraido de 2 es: "+pila2.removeLast());
  65.                 break;
  66.             case 4:
  67.                 estavacia1(pila1);
  68.                 estavacia2(pila2);
  69.                 break;
  70.             case 5:
  71.                 System.out.println("La Cima de la Pila es: "+ pila1.peek());
  72.                 System.out.println("La Cima de la Pila 2 es: "+ pila2.iteratorBack().next());
  73.                 break;
  74.             case 6:
  75.                 System.out.println("La Pila contiene "+pila1.size()+" elementos.");
  76.                 System.out.println("La Pila 2 contiene "+pila2.size()+" elementos.");
  77.             break;
  78.             case 7:
  79.                  System.out.println(pila1);
  80.                  mostarLIFO(pila2);
  81.                 break;
  82.             case 8:
  83.                 System.out.println("----------Fin Del Ejercicio 2----------");
  84.                 break;
  85.             default: System.out.println("Seleccione una opción valida............");
  86.                 break;
  87.         } //Fin switch.
  88.            
  89.         }while(respuesta!=8);
  90.  
  91.     }
  92.     //-------------- Menú - PilaImpletaListaEnlazada -------------//
  93.    
  94.     public static void menu(){
  95.         System.out.println("-------------- Menú EJERCICIO 2 -------------------");
  96.         System.out.println("1) Cargar elemento por consola......");
  97.         System.out.println("2) Cargar elemento aleatorimente......");
  98.         System.out.println("3) Sacar un elemento de Pila......");
  99.         System.out.println("4) ¿Esta vacía la Pila?......");
  100.         System.out.println("5) Elemento de la cima en Pila......");
  101.         System.out.println("6) Tamaño de la Pila......");
  102.         System.out.println("7) Mostrar Pila......");
  103.         System.out.println("8) Salir del Ejercicio 2 ......");
  104.     } //Fin menu.
  105.     //----------------------- Cargar Pila-------------------------//
  106.    
  107.     public static void cargarPila(Pila pila1, int capacidad) {     //Carga la Pila con enteros de forma manual.
  108.         int entrada;
  109.         System.out.println("-------------- Cargando la Pila -------------");
  110.         for (int i=0; i<capacidad; i++) {
  111.             entrada=Helper.numeroEntero((i+1)+") Ingrese un número.........: ");
  112.             pila1.push(entrada);
  113.          }
  114.     } //Fin cargarPila.
  115.    
  116.     public static void cargarPilasu(DoubleLinkedList<Integer> pila2, int capacidad) {     //Carga la Pila 2 con enteros de forma manual.
  117.         int entrada;
  118.         System.out.println("-------------- Cargando la Pila 2 -------------");
  119.         for (int i=0; i<capacidad; i++) {
  120.             entrada=Helper.numeroEntero((i+1)+") Ingrese un número.........: ");
  121.             pila2.addLast(entrada);
  122.          }
  123.     } //Fin cargarPila.
  124.  
  125.     public static void cargaPilaRandom(Pila pila1,int capacidad){  //Carga la Pila con enteros en modo aleatorio.
  126.         System.out.println("---------Pila cargada Aleatoriamente --------");
  127.        for(int i = 0;i < capacidad; ++i ) {
  128.            pila1.push(Helper.random.nextInt(99)-(Helper.random.nextInt(99)));
  129.          }  
  130.    }//Fin cargarColaRamdon.
  131.    
  132.    public static void cargaPilasuRandom(DoubleLinkedList<Integer> pila2,int capacidad){  //Carga la Pila 2 con enteros en modo aleatorio.
  133.         System.out.println("---------Pila 2 cargada Aleatoriamente --------");
  134.        for(int i = 0;i < capacidad; ++i ) {
  135.            pila2.addLast(Helper.random.nextInt(99)-(Helper.random.nextInt(99)));
  136.          }  
  137.    }//Fin cargarColaRamdon.
  138.    //---------------------- ¿Vacio Pila?------------------------//
  139.    
  140.    public static void estavacia1(Pila pila1) {
  141.        if (pila1.empty()) {
  142.            System.out.println("La pila esta vacía");
  143.        }else {
  144.            System.out.println("La pila NO esta vacía");
  145.        }
  146.    }//Fin estavacia1.
  147.    
  148.    public static void estavacia2(DoubleLinkedList<?> pila2) {
  149.        if (pila2.iterator().hasNext()) {
  150.            System.out.println("La pila 2 NO esta vacía");
  151.        }else {
  152.            System.out.println("La pila 2 esta vacía");
  153.        }
  154.    }//Fin estavacia2.
  155.  //-------------------- Mpstrar Pila LIFO ----------------------//
  156.    
  157.    public static void mostarLIFO(DoubleLinkedList<Integer> pila2) {
  158.        System.out.println("Pila 2 (Iterable-Grafico orientado a pila LIFO): ");
  159.        Iterator<Integer> it = pila2.iteratorBack();
  160.        while (it.hasNext()) {
  161.            System.out.println(it.next().toString());
  162.        }
  163.    }
  164. }
Add Comment
Please, Sign In to add comment