Implementeu una funció ITERATIVA que donada n quantitat de cartes i s cartes, classifiqui fins a 4 cues de cartes ordenades de major a menor valor, inspirat en el joc del solitari. Aquesta es la capçelera:
//PRE: la cua v conte totes les cartes i la cua K conte nomes els reis //POST: Retorna la cua K ordenada amb cartes de major a menor i alternant els colors de les figures a partir de les cartes que es troben a la cua void ordena(queue v, queue &K);
Aquí tenim un exemple d’entrada i sortida de la funció:
15 QD 7D QT 8T 4T 2T KT 6P 5C JC AC 10P 3C 9C KC => KC QT JC 10P 9C 8T 7D 6P 5C 4T 3C 2T AC KT QD
Entrada
L’entrada consisteix en n quantitat de cartes (natural estrictament positiu) i s cartes (strings amb un màxim de 3 caràcters).
Sortida
En la sortida hi pot haver d’1 fins a 4 cues depenent de quants reis s’hagin introduït en l’entrada. Les cues estaran ordenades de major a menor valor, començant pel rei i el següent valor ha de ser estrictament un valor menor, és a dir, la reina, i així consecutivament. A més a més, ha d’anar intercalant colors. Si no es pot trobar la continuació del nombre menor consegüent, no es pot acabar la cua.
Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.
Observació
input: KD 7D QT QP QC JT 8T 4T 2T KT 6P 5C JC AC KP 10P 3C 9C KC ordena(KC): KC QT JC 10P 9C 8T 7D 6P 5C 4T 3C 2T AC ordena(KD): KD QP ordena(KP): KP QC JT ordena(KT): KT