Implementeu una funció ITERATIVA que, donades una cua i una pila d’enters, s’obtingui una cua resultant en la qual els seus elements en posicions parells corresponguin als elements en posicions parelles de la cua que entrem començant des del front d’aquesta i els elements en posicions imparelles corresponguin als elements en posicions imparelles de la pila que entrem començant des del top d’aquesta.
Aquí tenim un exemple d’entrada a la funció on primer es dona la mida de la cua i de la pila respectivamant i després s’introdueix els elements la cua i la pila, i per acabar el resultat:
4 4 0 2 0 4 0 3 0 1 => 1 2 3 4
// Pre: Rep una cua q i una pila s d'enters no buides de mides iguals o diferents. // Post: Retorna una cua, que comparteix els elements en posició imparell de la de pila s a partir del top i els elements en posició parell de la cua q a partir del front. queue<int> pilacua(queue<int> q, stack<int> s);
Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.
q: 0 2 0 4 s: 0 3 0 1 resultat: 1 2 3 4 q: 1 0 2 0 3 s: 4 0 5 0 resultat: 0 0 0 0 q: 8 2 1 s: 8 9 resultat: 9 2 q: 8 2 3 5 s: 9 7 1 4 12 resultat: 12 2 1 5 9 q: 11 12 13 14 s: 1 2 3 4 5 6 7 resultat: 7 12 5 14 3 1 q: 2 s: 1 resultat: 1