reverseQueue X32815


Statement
 

pdf   zip   main.cc

html

Implementeu una funció RECURSIVA que, donada una cua d’enters, retorna una cua amb els mateixos elements, però revessada. Aquesta és la capcelera:

// Pre: 
// Post: Retorna la cua resultant de revessar la cua d'entrada.
queue<int> reverseQueue(queue<int> q);

Aquí tenim un exemple d’entrada i sortida 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([3,1,4,2,5]) = [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. This problem is being checked.
User solutions
C++