Intercala llistes. X56409


Statement
 

pdf   zip   tar

html

Feu el mètode void intercala (const Llista<T>&); de la classe Llista, la implementació de la qual us donem al fitxer llista.hpp.

Quan cridem aquest mètode: L1.intercala(L2); on L1, L2 són dues llistes de tipus Llista<T> doblement enllaçades, la llista L1 es modifica de manera que té la llista L2 intercalada (L2 no es modifica). Això vol dir que la llista L1 comença amb el primer element que ja tenia, seguit del primer de L2, el segon de L1, el tercer de L2, ... fins que s’acaben tots els elements de totes dues llistes.

En general, si:

L1 = a1a2a1, …, am 
L2 = b1b2b3 …, bn 

Després de fer la crida a L1.intercala(L2) tindrem que

L1 = a1b1a2b2a3b3, … 

Tingueu en compte que no podeu assumir res sobre les mides de totes dues llistes, únicament que cap d’elles és buida.

Entrada

El mètode rep una instància de tipus Llista<T> no buida. El paràmetre implícit també és del mateix tipus i no és buit.

Sortida

El mètode intercala la llista rebuda com a paràmetre al paràmetre implícit.

Observació

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

tar cvf program.tar llista.cpp

Observeu que per compilar us donem el Makefile, la capçalera del mòdul funcional pila.hpp, que conté tota la implementació de tots els mètodes, llevat del que heu d’implementar vosaltres, i el programa principal program.cpp.

La solució es compilarà perquè el fitxer llista.hpp (que no heu de modificar) té la següent línia:

include "llista.cpp"

Public test cases
  • Input

    6
    1 3 5 7 9 11
    10
    2 4 6 8 10 12 14 16 18 20
    

    Output

    1 3 5 7 9 11 
    2 4 6 8 10 12 14 16 18 20 
    1 2 3 4 5 6 7 8 9 10 11 12 14 16 18 20 
    
  • Input

    4
    4 2 5 3
    2
    8 10 
    

    Output

    4 2 5 3 
    8 10 
    4 8 2 10 5 3 
    
  • Information
    Author
    PRO1-Vilanova
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make