Splice en llistes

En aquest exercici implementareu el mètode splice per a la classe List. Aquest mètode rep un iterador it i una llista L com a paràmetres, i té el següent comportament: tots els elements de L s’insereixen a la llista paràmetre implícit just abans de la posició indicada per it, i després de la inserció la llista L queda buida. La declaració és la següent:

/**
 * @brief s'introdueix una llista al p.i. just davant de iterator.
 *
 * @pre   `L` es una altra llista. it apunta a un element de la llista
 *         p.i. o a la posició end().
 *
 * @post  A la llista (p.i.) s'ha introduit la llista L just
 *        davant d'on apunta l'iterator. L queda buida. it no es mou.
 */

void splice(iterator& it, List& L);

Els fitxers públics (icona del gatet) contenen:

list.hh la classe List<T>
main.cc el programa principal (gestiona l’entrada i sortida)
Makefile per compilar amb make al terminal
.vscode per compilar i debuggar amb F5

Per entregar només cal enviar el fitxer list.hh modificat.

Entrada

De l’entrada se n’encarrega ja el programa principal. L’entrada està formada per diferents cassos seguits. Cada cas comença amb un enter que indica la posició on inserir, seguit de dues llistes (cada llista acaba amb #).

Sortida

De la sortida també se n’encarrega el programa principal. La sortida mostra la primera posició de l’iterador, seguit de la primera llista després de fer el splice, el valor apuntat per l’iterador un cop fet el splice, i finalment la segona llista (que haurà quedat buida), totes 4 informacions en linies separades i amb una línia en blanc entre cassos.

Informació del problema

Autoria: Mª Lluïsa Bonet i Pau Fernández

Generació: 2026-03-25T18:20:56.671Z

© Jutge.org, 2006–2026.
https://jutge.org