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
