Advertisement
fmbalvarez

Guía 8 - Ejercicio 5

May 11th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.44 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Stack;
  3.  
  4. /**
  5.  * Created by felipealvarez on 11/5/15.
  6.  * 5. Una clase PilaSofisticada es una Pila, que permite configurar una implementación de pila
  7.  según las necesidades del cliente, y que además define, independientemente de la
  8.  implementación, las siguientes funcionalidades:
  9.  a. agregar(PilaSofisticada p): que permite agregar sobre this la pila p.
  10.  b. PilaSofisticada intercalar(PilaSofisticada nueva): que devuelve el resultado de intercalar los
  11.  elementos de la pila this con la pila nueva.
  12.  */
  13. public class SuperPila extends Stack {
  14.  
  15.     public SuperPila(){
  16.         super();
  17.     }
  18.  
  19.     public void agregar(SuperPila p){
  20.         ArrayList temp = new ArrayList();
  21.         while (!p.isEmpty()){
  22.             temp.add(p.pop());
  23.         }
  24.         for (int i = (temp.size() - 1); i >= 0; i--){
  25.             this.push(temp.get(i));
  26.         }
  27.         while (!this.isEmpty()){
  28.             System.out.println(this.pop());
  29.         }
  30.     }
  31.  
  32. //intercalar no funciona :(
  33.     public void intercalar(SuperPila n){
  34.         SuperPila pilaResultado = new SuperPila();
  35.         for (int i = 0; i < this.size(); i++) {
  36.             if (i%2 != 0){
  37.                 pilaResultado.push(this.pop());
  38.             } else {
  39.                 pilaResultado.push(n.pop());
  40.             }
  41.         }
  42.         while (!pilaResultado.isEmpty()){
  43.             System.out.println(pilaResultado.pop());
  44.         }
  45.     }
  46.  
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement