09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

15.2. Ord<strong>en</strong>ación de arrays 311<br />

4 9 7 1 8 7<br />

4 9 7 1 8 2<br />

4 9 7 1 2 8<br />

4 9 7 1 2 8<br />

4 9 1 7 2 8<br />

4 1 9 7 2 8<br />

1 4 9 7 2 8<br />

El m<strong>en</strong>or est‡ colocado _<br />

Figura 15.2.<br />

<strong>en</strong> ord<strong>en</strong> decreci<strong>en</strong>te. A continuación se comparan el p<strong>en</strong>último elem<strong>en</strong>to<br />

con el anterior, intercambiándose si es necesario, y así sucesivam<strong>en</strong>te hasta<br />

llegar a la primera posición. En este mom<strong>en</strong>to se puede asegurar que el<br />

elem<strong>en</strong>to m<strong>en</strong>or se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> la primera posición.<br />

Así, para el vector (4, 9, 7, 1, 8, 7, 2), se realiza el proceso repres<strong>en</strong>tado <strong>en</strong><br />

la figura 15.2.<br />

2. Situar el segundo m<strong>en</strong>or elem<strong>en</strong>to <strong>en</strong> la segunda posición. Para ello se<br />

procede como antes finalizando al llegar a la segunda posición, con lo que<br />

se sitúa el elem<strong>en</strong>to buscado <strong>en</strong> dicha posición.<br />

En el ejemplo, se obti<strong>en</strong>e <strong>en</strong> este paso el vector (1, 2, 4, 9, 7, 7, 8).<br />

. . . Se repite el proceso para las posiciones intermedias.<br />

(n-1). Se comparan los dos últimos valores, intercambiándose si están <strong>en</strong> ord<strong>en</strong><br />

decreci<strong>en</strong>te, obt<strong>en</strong>i<strong>en</strong>dose así el vector ord<strong>en</strong>ado. En el caso del ejemplo se<br />

obti<strong>en</strong>e el vector (1, 2, 4, 7, 7, 8, 9).<br />

es:<br />

El seudocódigo correspondi<strong>en</strong>te al primer nivel de diseño de este algoritmo<br />

para i <strong>en</strong>tre 1 y n-1 hacer<br />

Desplazar el m<strong>en</strong>or valor desde vn hasta vi, intercambiando<br />

pares vecinos, si es necesario<br />

Devolver v, ya ord<strong>en</strong>ado<br />

Por lo tanto, una implem<strong>en</strong>tación del algoritmo puede ser:<br />

2<br />

7<br />

7<br />

7<br />

7<br />

7<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!