Donada la classe cua que permet encuar elements en una estructura simplement encadenada en memòria dinàmica, cal implementar el mètode
que, a partir de dues cues ordenades de menor a major, fusiona els elements de les dues ordenadament deixant el resultat al paràmetre implícit, sense modificar la cua c2. Pots veure exemples en els jocs de prova públics.
Cal enviar a jutge.org la següent especificació de la classe cua i la implementació del mètode dins del mateix fitxer. La resta de mètodes públics i privats ja estan implementats. Indica dins d’un comentari a la capçalera del mètode el seu cost en funció del nombre d’elements n1 de la cua del p.i. i nombre d’elements n2 de la cua c2.
Degut a que jutge.org només permet l’enviament d’un fitxer amb la solució del problema, en el mateix fitxer hi ha d’haver l’especificació de la classe i la implementació del mètode fusiona (el que normalment estarien separats en els fitxers .hpp i .cpp).
Per testejar la solució, jutge.org ja té implementats la resta de mètodes de la classe cua i un programa principal que llegeix dues cues, desprès crida el mètode fusiona i finalment mostra el contingut de les dues cues.
Entrada
L’entrada conté dues línies formades per seqüències d’enters ordenades, són els elements que tindran les dues cues inicials.
Sortida
Es mostra el contingut de les dues cues desprès de fer la fusió. Per cada cua s’escriu el nombre d’elements de la cua seguit d’un espai i dels elements de la cua entre claudàtors i separats per espais.
Observació
Només cal enviar l’especificació de la classe cua, la implementació del mètode fusiona i el seu cost en funció del nombre d’elements n1 i n2 de les dues cues inicials. Pots ampliar la classe amb mètodes privats. Segueix estrictament la definició de la classe de l’enunciat. No es poden usar estructures de dades auxiliars com per exemple vectors.
Input
2 3 4 5 8 1 6 9
Output
8 [1 2 3 4 5 6 8 9] 3 [1 6 9]
Input
-6 -2 0 3 4 8 -5
Output
7 [-6 -5 -2 0 3 4 8] 1 [-5]
Input
-5 -6 -2 0 3 4 8
Output
7 [-6 -5 -2 0 3 4 8] 6 [-6 -2 0 3 4 8]
Input
-6 -2 0 3 4 8
Output
6 [-6 -2 0 3 4 8] 0 []
Input
-6 -2 0 3 4 8
Output
6 [-6 -2 0 3 4 8] 6 [-6 -2 0 3 4 8]
Input
Output
0 [] 0 []
Input
1 2 3 4 5 8 9 1 4 6 9
Output
11 [1 1 2 3 4 4 5 6 8 9 9] 4 [1 4 6 9]
Input
-6 -2 0 3 4 8 -7
Output
7 [-7 -6 -2 0 3 4 8] 1 [-7]
Input
-6 -2 0 3 4 8 9
Output
7 [-6 -2 0 3 4 8 9] 1 [9]
Input
-7 -6 -2 0 3 4 8
Output
7 [-7 -6 -2 0 3 4 8] 6 [-6 -2 0 3 4 8]
Input
9 -6 -2 0 3 4 8
Output
7 [-6 -2 0 3 4 8 9] 6 [-6 -2 0 3 4 8]