reverseQueue X55151


Statement
 

pdf   zip   main.cc

html

Implementeu una funció RECURSIVA que revessa la cua d’enters que rep com a paràmetre. Aquesta és la capcelera:

// Pre: Sigui Q el valor inicial de q.
// Post: q conté els mateixos elements que Q, però en ordre invers.
void reverseQueue(queue<int> &q);

Aquí tenim un exemple d’execució de la funció, a on es mostren els elements de les cues des del front de la cua a l’esquerra fins al final de la cua a la dreta:

reverseQueue(q = [3,1,4,2,5]) => q = [5,2,4,1,3]

Useu un enfoc recursiu, evitant utilitzar cap altre mètode d’emmagatzemament massiu de dades. Possiblement, necessitareu implementar una funció recursiva auxiliar per a que la vostra implementació sigui prou eficient com per a superar els jocs de proves privats.

Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.

Sample session
reverseQueue([1,2,3,4,5]) = [5,4,3,2,1])
reverseQueue([3,1,5,9,1,3,5,1,8,2]) = [2,8,1,5,3,1,9,5,1,3])
reverseQueue([4]) = [4])
reverseQueue([]) = [])
reverseQueue([33,45,16,1,-13,-55]) = [-55,-13,1,16,45,33])
Information
Author
PRO1
Language
Catalan
Official solutions
Unknown.
User solutions