Transferir parells de llista a cua. Versió recursiva

Implementa una acció RECURSIVA que donada un llista d’enters i una cua d’enters, transfereix els elements parells de la llista (el mateix ordre que apareixen) cap a la cua.

Donada la llista [11,2,7,8,91,17,12][11, 2, 7, 8, 91, 17, 12], el resultat d’aplicar l’operació seria:

llista : [11,7,91,17][11, 7, 91, 17]

cua: [2,8,12][2, 8, 12]

Interfície

La capçalera de la funció és la següent:

// Pre: q és una cua buida
// Post: transfereix els elements parells de la llista "l" a la cua "q" en el mateix ordre que apareixen a la llista.
void transferir_parells(list<int> &l, queue<int> &q)

Observació

Les funcions i accions que creïs han de treballar només amb cues i llistes (les classes queue i list de la biblioteca STL). Has de trobar una solució RECURSIVA i eficient del problema. En particular, no hi hauria d’haver cap bucle en cap de les funcions/accions que implementis. Si crees funcions/accions auxiliars, afegeix-hi les corresponents Precondició (Pre) i Postcondició (Post). En les crides recursives inclou la hipòtesi d’inducció (HI) i la funció de fita (FF).

IMPORTANT: Només cal enviar el procediment demanat; el programa principal serà ignorat.

Informació del problema

Autoria: Bernardino Casas

Generació: 2026-01-25T12:59:50.522Z

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