Reorganitzar una llista, versió IN

Afegiu una operació pública a la classe Llista vista a teoria tal que,
donada una llista L i un valor x, reorganitzi els elements de L en
funció de x. La llista L, un cop reorganitzada, contindrà els mateixos
elements que la llista original però tots aquells que siguin més petits
o iguals que x, apareixeran abans que tots els més grans, sempre
respectant l’ordre que hi havia entre ells a la llista original L. Feu
servir la següent especificació:

    void  reorganitzar_in(const T& x)
    /* Pre: p.i. = L */
    /* Post: el p.i. conté els mateixos elements que L però
    reorganitzats de manera que primer apareixen els més petits
    o iguals que x, en el mateix ordre que en L, seguits pels 
    més grans que x, en el mateix ordre que en L.
    L'element actual del p.i. és el primer del més grans que x, si
    existeix, sinó es situa a la dreta de tot */

Per exemple, si x = 9 i el contingut del p.i. és {48, 24, 33, 64}, com a
resultat de la reorganització el contingut del p.i. no haurà canviat i
el seu element actual farà referència al 48.

No utilitzeu cap de les operacions primitives de les llistes, accediu
directament als atributs de la classe Llista. La vostra solució no pot
crear mai cap node nou, només pot modificar els apuntadors del nodes ja
existents.

Entrada

L’entrada és una llista en el paràmetre implícit i un valor.

Sortida

La sortida és el p.i. reorganitzat, en funció del valor donat, amb el
seu element actual referenciant el primer valor més gran que el valor
donat.

Observació

Només s’ha d’enviar un fitxer anomenat program.hh, que no ha de fer cap
cout, que contingui la funció amb la capçalera de l’enunciat i qualsevol
altra funció auxiliar que cregueu convenient, sense la funció main i
sense posar-hi cap include. A l’apartat Public files trobareu els
fitxers que us calen per construir la vostra solució.

Informació del problema

Autoria: María Teresa Abad (adaptadora)

Generació: 2026-01-27T18:51:02.667Z

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