Fusiona Piles. X79462


Statement
 

pdf   zip   tar

html

Feu la funció

stack<int> fusionaPiles (stack<int> P1,stack<int> P2);

tal que, donades dues piles ordenades i no buides d’enters positius, retorni una pila ordenada que conté tots els elements de totes dues piles. Com us podeu imaginar, el fet que totes dues piles estiguin ja ordenades, facilita enormement la tasca.

L’ordenació creixent va del fons de la pila (l’element més petit) creixent cap amunt. O si us ho estimeu més, decreixent des del cim fins al fons de la pila.

Per exemple, donades dues les piles P1,P2, la funció ha de tornar la pila R.

     P1        P2             R
 
                           | 10 |
                           | 9  |
                           | 8  |
   | 9 |                   | 7  |
   | 8 |                   | 7  |
   | 7 |               =>  | 5  |
   | 5 |     | 10 |        | 4  |
   | 3 |     | 7  |        | 3  |
   | 2 |     | 4  |        | 2  |
   -----     ------        ------

Entrada

Dues piles ordenades d’enters.

Sortida

Una pila ordenada amb tots els elements de les dues piles.

Observació

Heu d’enviar la solució comprimida en un fitxer .tar:

tar cvf program.tar fusionaPiles.cpp

Observeu que per compilar us donem el Makefile, les utilitats d’entrada/sortida de piles a utilitats.hpp, la capçalera del mòdul funcional fusionaPiles.hpp i el programa principal program.cpp.

Public test cases
  • Input

    5
    1 3 5 7 9
    4
    2 4 6 8
    
    
    
    
    

    Output

    |9|
    |7|
    |5|
    |3|
    |1|
     =
    |8|
    |6|
    |4|
    |2|
     =
    |9|
    |8|
    |7|
    |6|
    |5|
    |4|
    |3|
    |2|
    |1|
     =
    
  • Input

    4
    2 5 6 7
    5
    1 2 3 4 15
    

    Output

    |7|
    |6|
    |5|
    |2|
     =
    |15|
    |4|
    |3|
    |2|
    |1|
     =
    |15|
    |7|
    |6|
    |5|
    |4|
    |3|
    |2|
    |2|
    |1|
     =
    
  • Information
    Author
    PRO1-Vilanova
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make