Ordena un Vector V Y80100


Statement
 

pdf   zip   main.cc

thehtml

Un vector V es un vector que está compuesto de dos partes:

v = x1  ‍ x2  ‍ x3  ‍ x4 … xn  ‍ y1  ‍ y2 ‍ y3 … ym

tales que x1xn está ordenado de forma escrita decreciente y y1ym está ordenado de forma escrita creciente. Además, xn > y1. Por último tenemos que n,m > 0. Es decir, ninguna de las dos partes está vacía.

Es necesario implementar la función

void ordena(const vector<int>& v, int pos, vector<int>& r)

con la siguiente especificación:

PRE: v es un vector V como ∣ v ∣ ≥ 3, pos es la posición en la que se encuentra y1 en v y ∣ v ∣ = ∣ r ∣.

POST: El vector r contiene todos los elementos del vector v y está ordenado.

Observación

Sólo tiene que enviar la función que le pedimos y las acciones y funciones que vosotros mismos defina.

No se puede utilizar la operación sort de la biblioteca stl.

Pista: saber la posición en la que se encuentra y1 le puede ayudar a ordenar el vector en tiempo lineal.

IMPORTANTE: Sólo hay que enviar la función que se pide, y quizás otras acciones y funciones necesarias. Hay que mantener, sin embargo, las definiciones de tipos y los #includes.

Entrada

Un número indeterminado de vectores V con el siguiente formato: un entero que indica su tamaño, después el vector V, despues la posición en la que se encuentra y1 en v y un vector r del mismo tamaño que v. Todo vector V tiene un tamaño mayor o igual a 3.

Salida

El vector r está ordenado y contiene todos los elementos de v.

Sample session
ENTRADA 1:
10
20 18 16 2 4 6 8 10 12 14
3

SORTIDA 1:
2 4 6 8 10 12 14 16 18 20



ENTRADA 2:
10
20 2 4 6 8 10 12 14 16 18
1

SORTIDA 2:
2 4 6 8 10 12 14 16 18 20



ENTRADA 3:
10
20 18 16 2 4 6 8 10 12 14
3

SORTIDA 3:
2 4 6 8 10 12 14 16 18 20



ENTRADA 4:
5
14 11 8 2 14
3

SORTIDA 4:
2 8 11 14 14



ENTRADA 5:
10
20 2 4 6 8 10 12 14 16 18
1

SORTIDA 5:
2 4 6 8 10 12 14 16 18 20
Information
Author
PRO1
Language
Spanish
Translator
Original language
Catalan
Other languages
Catalan English
Official solutions
C++
User solutions
C++