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