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
- Soto, Sofía Alejandra | Ing. Informática | 40.442.283
- Vilca, Sergio Esteban | Ing. Informática | 39.200.406
- * @Ingeniera: Perez Ibarra.
- * @Fecha: 27/10/2020.
- */
- /*
- Trabajo Práctico N°4 / Listas – Lista Genérica, Lista Ordenada / Ejercicio 2
- --------------------- --------------------------------------- ------------
- * Objetivo General: Implementar a una Pila genérica la estructura de una lista genérica.
- * Metodología Empleada: Integrar todos los metodos o valores para testear una pila con estructura de lista.
- Se utiliza Lista Enlazada Simple escrita de forma manual en Pila.
- Se utiliza Lista Enlazada Doble de teoria, para mostrar la pila y simular el método peek.
- * 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, - Random, -Iterator.
- * Clase principal: PilaImpletaListaEnlazada.
- * Clases secundarias: Pila, NodoPila, DoubleLinkedList, Helper.
- * Interfaces: ILinkedList.
- */
- import java.util.Iterator;
- public class PilaImpletaListaEnlazada {
- //------------------- Inicio método Run() --------------------//
- public static void main(String[] args) {
- int respuesta,numero=0;
- DoubleLinkedList<Integer> pila2=new DoubleLinkedList<>();
- Pila pila1= new Pila();
- int longitud=0;
- do {
- menu();
- respuesta=Helper.numeroEntero("Ingrese una opción ........ : ");
- if ((respuesta==1)||(respuesta==2)) {
- longitud= Helper.numeroEnteroPositivo("Ingrese la cantidad de elementos a insertar a la Pila......: ");
- }
- switch(respuesta){
- case 1 :
- cargarPila(pila1,longitud);
- cargarPilasu(pila2,longitud);
- break;
- case 2 :
- cargaPilaRandom(pila1,longitud);
- cargaPilasuRandom(pila2,longitud);
- break;
- case 3:
- System.out.println("El elemento extraido es: "+pila1.pop());
- System.out.println("El elemento extraido de 2 es: "+pila2.removeLast());
- break;
- case 4:
- estavacia1(pila1);
- estavacia2(pila2);
- break;
- case 5:
- System.out.println("La Cima de la Pila es: "+ pila1.peek());
- System.out.println("La Cima de la Pila 2 es: "+ pila2.iteratorBack().next());
- break;
- case 6:
- System.out.println("La Pila contiene "+pila1.size()+" elementos.");
- System.out.println("La Pila 2 contiene "+pila2.size()+" elementos.");
- break;
- case 7:
- System.out.println(pila1);
- mostarLIFO(pila2);
- break;
- case 8:
- System.out.println("----------Fin Del Ejercicio 2----------");
- break;
- default: System.out.println("Seleccione una opción valida............");
- break;
- } //Fin switch.
- }while(respuesta!=8);
- }
- //-------------- Menú - PilaImpletaListaEnlazada -------------//
- public static void menu(){
- System.out.println("-------------- Menú EJERCICIO 2 -------------------");
- System.out.println("1) Cargar elemento por consola......");
- System.out.println("2) Cargar elemento aleatorimente......");
- System.out.println("3) Sacar un elemento de Pila......");
- System.out.println("4) ¿Esta vacía la Pila?......");
- System.out.println("5) Elemento de la cima en Pila......");
- System.out.println("6) Tamaño de la Pila......");
- System.out.println("7) Mostrar Pila......");
- System.out.println("8) Salir del Ejercicio 2 ......");
- } //Fin menu.
- //----------------------- Cargar Pila-------------------------//
- public static void cargarPila(Pila pila1, int capacidad) { //Carga la Pila con enteros de forma manual.
- int entrada;
- System.out.println("-------------- Cargando la Pila -------------");
- for (int i=0; i<capacidad; i++) {
- entrada=Helper.numeroEntero((i+1)+") Ingrese un número.........: ");
- pila1.push(entrada);
- }
- } //Fin cargarPila.
- public static void cargarPilasu(DoubleLinkedList<Integer> pila2, int capacidad) { //Carga la Pila 2 con enteros de forma manual.
- int entrada;
- System.out.println("-------------- Cargando la Pila 2 -------------");
- for (int i=0; i<capacidad; i++) {
- entrada=Helper.numeroEntero((i+1)+") Ingrese un número.........: ");
- pila2.addLast(entrada);
- }
- } //Fin cargarPila.
- public static void cargaPilaRandom(Pila pila1,int capacidad){ //Carga la Pila con enteros en modo aleatorio.
- System.out.println("---------Pila cargada Aleatoriamente --------");
- for(int i = 0;i < capacidad; ++i ) {
- pila1.push(Helper.random.nextInt(99)-(Helper.random.nextInt(99)));
- }
- }//Fin cargarColaRamdon.
- public static void cargaPilasuRandom(DoubleLinkedList<Integer> pila2,int capacidad){ //Carga la Pila 2 con enteros en modo aleatorio.
- System.out.println("---------Pila 2 cargada Aleatoriamente --------");
- for(int i = 0;i < capacidad; ++i ) {
- pila2.addLast(Helper.random.nextInt(99)-(Helper.random.nextInt(99)));
- }
- }//Fin cargarColaRamdon.
- //---------------------- ¿Vacio Pila?------------------------//
- public static void estavacia1(Pila pila1) {
- if (pila1.empty()) {
- System.out.println("La pila esta vacía");
- }else {
- System.out.println("La pila NO esta vacía");
- }
- }//Fin estavacia1.
- public static void estavacia2(DoubleLinkedList<?> pila2) {
- if (pila2.iterator().hasNext()) {
- System.out.println("La pila 2 NO esta vacía");
- }else {
- System.out.println("La pila 2 esta vacía");
- }
- }//Fin estavacia2.
- //-------------------- Mpstrar Pila LIFO ----------------------//
- public static void mostarLIFO(DoubleLinkedList<Integer> pila2) {
- System.out.println("Pila 2 (Iterable-Grafico orientado a pila LIFO): ");
- Iterator<Integer> it = pila2.iteratorBack();
- while (it.hasNext()) {
- System.out.println(it.next().toString());
- }
- }
- }
Add Comment
Please, Sign In to add comment