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.
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])