Un vector cremallera és un vector de longitud , essent , tal que els elements estan entrellaçats de la forma
Tant la seqüència d’elements com són estrictament creixents. És a dir, i , amb .
Cal implementar la funció
ordena_cremallera amb la següent especificació:
/**
* @brief Ordena un vector "cremallera" format per elements
* entrellaçats, retornant el vector resultat.
*
* @returns Un vector amb els elements ordenats de menor a major.
*
* @pre v = {x_1, y_1, x_2, y_2, ..., x_n, y_n}, n > 0.
* x_i < x_{i+1}, y_i < y_{i+1}, per a tot i.
*/
vector<double> ordena_cremallera(const vector<double>& v);
Cal enviar la funció ordena_cremallera, amb
#includes i funcions auxiliars, si cal, però sense
main. Si descarregueu l’arxiu main.cc de la
icona ".CPP", podeu esborrar (o comentar amb /* i
*/) les funcions main i
llegeix_vector.
Una seqüència de vectors cremallera, cadascun en una línia, i amb un enter al principi de la línia indicant-ne la longitud.
El vector resultant de la ordenació, en una línia i amb espais entre els elements.
Entrada: 6 1 2 4 3 7 6 Sortida: 1 2 3 4 6 7 Entrada: 4 1 3 2 4 Sortida: 1 2 3 4 Entrada: 10 0 3 1 4 2 5 3 6 4 7 Sortida: 0 1 2 3 3 4 4 5 6 7