Escriviu el codi d’una funció recursiva
insereix_en_ordre que donada una cua d’enters c
ordenada de forma decreixent i un enter x, retorni la cua
resultant d’inserir x en la cua c mantenint-la
ordenada de forma decreixent.
queue<int> insereix_en_ordre(queue<int> c, int x)
/* Pre: c = C i C esta ordenada de forma decreixent */
/* Post: Retorna la cua C en la que s'ha inserit el valor x mantenint l'ordre
decreixent */Com a entrada hi haurà una cua: primer el nombre d’enters i després els enters que la formen. A continuació hi haurà un o més enters addicionals.
Per llegir la cua s’ha utilitzat l’operador >> que
es troba definit en el mòdul queueIOint.
Com a sortida es mostrarà la cua original. A continuació, s’aniran inserint els enters addicionals de l’entrada, partint de la cua modificada en el pas anterior. Després de cada inserció, es mostrarà l’estat de la cua.
Per escriure les cues s’ha utilitzat l’operador <<
que es troba definit en el mòdul queueIOint.
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar cua_insereix_en_ordre.cpp
Observeu que per compilar us donem el Makefile, el mòdul
queueIOint, la capçalera del mòdul funcional
cua_insereix_en_ordre.hpp i el programa principal
program.cpp.
Input
5 5 4 3 2 1 0 1 2 3 4 5
Output
<5|4|3|2|1|< <5|4|3|2|1|0|< <5|4|3|2|1|1|0|< <5|4|3|2|2|1|1|0|< <5|4|3|3|2|2|1|1|0|< <5|4|4|3|3|2|2|1|1|0|< <5|5|4|4|3|3|2|2|1|1|0|<