En aquest exercici treballarem sobre la següent estructura de dades, que ens serveix per a mantenir una seqüència de valors dins d’items encadenats mitjançant punters.
struct Item { int value; Item* next; };
Implementeu una funció que,donat un Item* que apunta a una seqüència d’items encadenats, retorna un altre Item* que representa una nova seqüència d’items nous,tals que la seva corresponent seqüència de valors és una copia de la subseqüència de valors de la seqüència original que són ordenats de forma ascendent,és a dir de menor a major.
Entrada
L’entrada consisteix en un nombre arbitrari de casos, cadascun en una línia. Cada cas rep una seqüencia d’items positius encadenats.
Sortida
Per a cada cas,s’escriu la nova seqüencia d’items positius encadenats.
Input
5 3 7 2 9 3 8 5 4 7 3 2 4 8 5 3 1 9 4 3 2 1 9 8 7 9 1 1 7 3 8 2
Output
2 3 5 7 2 3 3 4 5 7 8 9 1 3 4 5 8 9 1 2 3 4 1 7 8 9 9 1 2 3 7 8
Input
5 7 9 5 9 8 9 1 5 1 0 2 9 8 2 8 6 1 3 3 4 8 2 5 1 3 4 8 4 0 6 9 2 9 0 7 1 6 0 2 9 7 6 3 0 9 9 9 5 7 4 2 6 3 1 6 5
Output
5 7 9 0 1 1 2 5 5 8 9 9 9 1 2 3 3 4 6 8 8 8 1 2 3 4 5 4 8 0 0 0 1 2 6 6 7 9 9 2 7 9 0 3 6 5 9 9 9 1 2 3 4 5 6 6 7