Redispersió en una taula de dispersió amb sinònims encadenats indirectes i nova mida nombre primer

Es disposa d’un diccionari que emmagatzema únicament claus de tipus string, implementat mitjançant una taula de dispersió amb encadenaments indirectes (els sinònims estan en llistes simplement encadenades ordenades per clau).

Entre els fitxers que s’adjunten en aquest exercici, trobaràs:

La teva feina és:

Has d’implementar el mètode següent de la classe dicc:

/* Mètode modificador.
   Realitza la redispersió de la taula de dispersió.
   La mida de la nova taula serà el primer nombre primer
   major o igual que 2*_M + 1, on _M és la mida actual de la taula.
   Tots els elements del diccionari es reubiquen a la nova taula
   utilitzant la funció de dispersió corresponent. */
void redispersio();

Aquest mètode ha de realitzar la redispersió de la taula de dispersió:

  1. La nova mida de la taula ha de ser el primer nombre primer major o igual que 2M+1,2 \cdot M + 1, on MM és la mida actual de la taula.

  2. S’han de recol·locar tots els elements del diccionari a la nova taula, recalculant el seu índex amb la funció de dispersió i la nova mida.

Observacions

Entrada

L’entrada té tres línies: la primera conté un natural positiu amb la dimensió inicial de la taula de dispersió i les altres dos contenen elements separats amb espais, són els elements que s’insereixen en el diccionari.

Sortida

Escriu el contingut del diccionari dos vegades: després d’inserir el primer conjunt d’elements i després d’inserir el segon conjunt d’elements. Cada vegada es mostra en diferents línies la quantitat d’elements que té i els elements que conté cadascuna de les llistes de sinònims encadenats indirectes (els elements de cada llista apareixen separats amb un espai i en el mateix ordre en que es guarden).

Per més detalls de com és l’entrada i la sortida consulta els jocs de proves públics.

Informació del problema

Autoria: Bernardino Casas

Generació: 2026-01-25T20:33:32.803Z

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