Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Principal {
- public static void main(String[] args) {
- int resp,opc=0;
- Pila Pila1=new Pila();
- Pila Pila2=new Pila();
- Scanner S=new Scanner(System.in);
- CargarPilas(Pila1,Pila2);
- System.out.println();
- Mostrar(Pila1,Pila2);
- System.out.println();
- do {
- do {
- Pila Pila1C=new Pila(Pila1);
- Pila Pila2C=new Pila(Pila2);
- Pila NuevaPila=new Pila();
- Menu();
- opc=S.nextInt();
- System.out.println();
- switch(opc) {
- case 1:
- apilar_1sobre2(Pila1C,Pila2C);
- Mostrar(Pila1C,Pila2C);
- break;
- case 2:
- apilar_2sobre1(Pila1C,Pila2C);
- Mostrar(Pila1C,Pila2C);
- break;
- case 3:
- apilar_nuevo(Pila1C,Pila2C,NuevaPila);
- Mostrar3(Pila1C,Pila2C,NuevaPila);
- break;
- default:
- System.out.println("Opcion no valida...");
- }
- }while(opc!=1 && opc!=2 && opc!=3);
- System.out.println("Realizar otra accion: 1:SI 0:NO");
- resp=S.nextInt();
- }while(resp!=0);
- System.out.println();
- System.out.println("Las Pilas iniciales son: ");
- Mostrar(Pila1,Pila2);
- }
- public static void CargarPilas(Pila Pila1, Pila Pila2) {
- System.out.println("***** CARGAR PILAS *****");
- System.out.println();
- for(int i=1;i<=2;i++) {
- System.out.println("Ingrese valores a la pila "+i+": ");
- switch (i) {
- case 1:
- Cargar(Pila1);
- break;
- case 2:
- Cargar(Pila2);
- break;
- }
- }
- }
- public static void Cargar(Pila Stack) {
- int N,aux;
- Scanner In=new Scanner(System.in);
- System.out.print("Cuantos valores desea ingresar: ");
- N=In.nextInt();
- System.out.println("ingrese los "+N+" valores...");
- for(int j=1;j<=N;j++) {
- aux=In.nextInt();
- Stack.Apilar(aux);
- }
- }
- public static void Menu() {
- System.out.println("************* MENU *************");
- System.out.println("1) Apilar primer pila sobre la segunda");
- System.out.println("2) Apilar segunda pila sobre la primera");
- System.out.println("3) Alternadamente apilar un elemento de cada pila en una nueva");
- System.out.println();
- System.out.println("opcion: ");
- }
- public static void Mostrar(Pila Pila1,Pila Pila2) {
- System.out.println("Pila 1: ");
- Pila1.Mostrar();
- System.out.println();
- System.out.println("Pila 2: ");
- Pila2.Mostrar();
- System.out.println();
- }
- public static void apilar_1sobre2(Pila Pila1C,Pila Pila2C) {
- int aux;
- while (!Pila1C.EstaVacia()) {
- aux=Pila1C.Desapilar();
- Pila2C.Apilar(aux);
- }
- }
- public static void apilar_2sobre1(Pila Pila1C,Pila Pila2C) {
- int aux;
- while (!Pila2C.EstaVacia()) {
- aux=Pila2C.Desapilar();
- Pila1C.Apilar(aux);
- }
- }
- public static void apilar_nuevo(Pila Pila1C,Pila Pila2C,Pila NuevaPila) {
- int aux;
- while (!Pila1C.EstaVacia() && !Pila2C.EstaVacia()) {
- aux=Pila1C.Desapilar();
- NuevaPila.Apilar(aux);
- aux=Pila2C.Desapilar();
- NuevaPila.Apilar(aux);
- }
- if(Pila1C.EstaVacia()) {
- while(!Pila2C.EstaVacia()) {
- aux=Pila2C.Desapilar();
- NuevaPila.Apilar(aux);
- }
- }
- else {
- while(!Pila1C.EstaVacia()){
- aux=Pila1C.Desapilar();
- NuevaPila.Apilar(aux);
- }
- }
- }
- public static void Mostrar3(Pila Pila1C, Pila Pila2C, Pila NuevaPila) {
- System.out.println("Pila 1:");
- Pila1C.Mostrar();
- System.out.println();
- System.out.println("Pila 2:");
- Pila2C.Mostrar();
- System.out.println();
- System.out.println("Los numeros en la nueva pila son:");
- NuevaPila.Mostrar();
- System.out.println();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement