Вы находитесь на странице: 1из 11

Fundamentos de

Programación 2

Ing. Marco Aedo López

EPIS – 2017 marcoaedo@hotmail.com maedol@unsa.edu.pe


Arreglos (Arrays), ArrayList y
HashMap

Capítulo 1

EPIS UNSA - 2008 marcoaedo@hotmail.com


15. Ordenando un arreglo
 El ordenamiento es una tarea común en la
computación
 Cuando tenemos una colección de datos, muchas
aplicaciones necesitan ordenar los datos en cierto
orden. Por ejemplo ordenar la información de una
persona en forma ascendente por edad
 Ejemplos:
 Ordenar mails en su correo por fecha, por remitente
 Ordenar canciones por título, por autor
 Ordenar alumnos por su CUI, por su promedio
15. Ordenando un arreglo
 Aquí vemos la definición del problema:
Dado un arreglo de N valores enteros,
ordenar sus valores en orden ascendente.

23 17 5 90 12 44 38 84 77

5
15. Ordenando un arreglo: Burbuja
 Realizar pasadas, en cada pasada se garantiza que el
más pesado se hunda al fondo
 Se comparan cada dos elementos, intercambiando
cuando el primero es mayor que el segundo
Ordenamiento Burbuja, 1ra pasada
0 1 2 3 4 5 6 7 8
23 17 5 90 12 44 38 84 77 17 5 23 12 44 90 38 84 77

intercambia intercambia

17 23 5 90 12 44 38 84 77 17 5 23 12 44 38 90 84 77

intercambia intercambia

17 5 23 90 12 44 38 84 77
17 5 23 12 44 38 84 90 77
intercambia
ok intercambia

17 5 23 12 90 44 38 84 77 17 5 23 12 44 38 84 77 90

intercambia
El valor mayor se encuentra al final
del arreglo
15. Ordenando un arreglo: Selección
 Hay varios algoritmos de ordenamiento con diferentes
grados de complejidad y eficiencia
 Pseudocódigo Ordenamiento por Selección:
for (i=0; i<arreglo.longitud-1; i++)
encuentra el valor más pequeño en el
arreglo desde la posición i hasta el final
Intercambia el valor encontrado con
arreglo[i]
arreglo(original) arreglo(ordenado)

0 5 -3 -3 -3 -3

1 10 10 2 2 2

2 -3 5 5 5 5

3 20 20 20 20 10

4 2 2 10 10 20
Ordenamiento por Selección
primero min
1. Encontrar el elemento
menor de la lista. 0 1 2 3 4 5 6 7 8
23 17 5 90 12 44 38 84 77
2. Intercambiar el elemento
de la primera posición con
el elemento menor. Ahora intercambiar
el elemento menor esta en
la primera posición.

0 1 2 3 4 5 6 7 8

3. Repetir los Pasos 1 y 2 5 17 23 90 12 44 38 84 77


con el resto de la lista.
ordenado No ordenado

Este es el resultado de una pasada.


Ordenamiento por Seleccion, pasadas

8 iteraciones
Ordenamiento por Seleccion, pasadas
Pasadas # 0 1 2 3 4 5 6 7 8

1 5 17 23 90 12 44 38 84 77
Resultado DESPUÉS
de que cada pasada
ordenado se ha completado.

2 5 12 23 90 17 44 38 84 77

3 5 12 17 90 23 44 38 84 77

7 5 12 17 23 38 44 77 84 90

8 5 12 17 23 38 44 77 84 90
Arreglos (Arrays) y ArrayList

Gracias

Вам также может понравиться