Ordenamiento de vectores

19
PROGRAMACIÓN ORIENTADA A OBJETOS 1 Vectores Ordenamiento Ing. Magda Paola Fernández Echeverri

Transcript of Ordenamiento de vectores

PROGRAMACIÓN ORIENTADA A OBJETOS 1

VectoresOrdenamiento

Ing. Magda Paola Fernández Echeverri

Tabla de contenido

Ordenamiento

Ordenamiento Burbuja

Ordenar

Por ordenar se entiende el proceso de reorganizar un conjunto de objetos en una cierta secuencia de acuerdo a un criterio especificado.

Ordenamiento de un arreglo

Es posible ordenar utilizando diferentes técnicas . La técnica mas simple es el ordenamiento de burbuja.

El algoritmo de burbuja consiste en evaluar cada elemento por los demás elementos. Para ello, se requiere un índice que recorra el arreglo desde la primera posición hasta la penúltima. Adicionalmente se requiere un índice que recorra el Arreglo desde la siguiente posición del primer índice hasta la última posición del arreglo.

Ordenamiento de Burbuja

Vector unidimensional

A 8 3 5 9 1

0 1 2 3 4Índice

Variable auxiliar

ij

Con base en un arreglo denominado A de 5 posiciones y los datos en cada posición son 8,3,5,9,1. Ordenar los números de menor a mayor utilizando el método burbuja.

Sintaxis Método burbujafor(i = 0; i < 4; i++){ for(j= i + 1; j< 5; j ++ ) { if (A[i] > A[j]){ auxiliar = A[i]; A[i]= A[j]; A[j] = auxiliar; } }}

Iteración 0Vector unidimensional

A 8 3 5 9 1

0 1 2 3 4Índice

Variable auxiliar

ij

8 > 3Verdadero entonces

Se cambian los valores dentro del vector

si A[i] > A[j]

i j A[i] A[j]Prueba de Escritorio

0 1 8 3auxiliar

0 1 3 8 8

Vector unidimensional

A 3 8 5 9 1

0 1 2 3 4Índice

Variable

8

auxiliar

Iteración 1Vector unidimensional

A 3 8 5 9 1

0 1 2 3 4Índice

Variable auxiliar

ij

3 > 5Falso entonces

Los datos siguen quedando en su

posición

si A[i] > A[j]

i j A[i] A[j]Prueba de Escritorio

0 2 3 5auxiliar

Iteración 2Vector unidimensional

A 3 8 5 9 1

0 1 2 3 4Índice

Variable auxiliar

ij

3 > 9Falso entonces

Los datos siguen quedando en su

posición

si A[i] > A[j]

i j A[i] A[j]Prueba de Escritorio

0 3 3 9auxiliar

Iteración 3Vector unidimensional

A 3 8 5 9 1

0 1 2 3 4Índice

Variable

3

auxiliar

ij

3 > 1Verdadero entonces

Se cambian los valores dentro del vector

si A[i] > A[j]i j A[i] A[j]

Prueba de Escritorio

0 4 3 1auxiliar

0 4 1 3 3

Vector unidimensional

A 1 8 5 9 3

0 1 2 3 4Índice

Variable

3

auxiliar

Iteración 4Vector unidimensional

A 1 8 5 9 3

0 1 2 3 4Índice

Variable

8

auxiliar

ij

8 > 5Verdadero entonces

Se cambian los valores dentro del vector

si A[i] > A[j]i j A[i] A[j]

Prueba de Escritorio

1 2 8 5auxiliar

1 2 5 8 8

Vector unidimensional

A 1 5 8 9 3

0 1 2 3 4Índice

Variable

8

auxiliar

Iteración 5Vector unidimensional

A 1 5 8 9 3

0 1 2 3 4Índice

Variable auxiliar

ij

5 > 9Falso entonces

Los datos siguen quedando en su

posición

si A[i] > A[j]

i j A[i] A[j]Prueba de Escritorio

1 3 5 9auxiliar

Iteración 6Vector unidimensional

A 1 5 8 9 3

0 1 2 3 4Índice

Variable

5

auxiliar

ij

5 > 3Verdadero entonces

Se cambian los valores dentro del vector

si A[i] > A[j]i j A[i] A[j]

Prueba de Escritorio

1 4 5 3auxiliar

1 4 3 5 5

Vector unidimensional

A 1 3 8 9 5

0 1 2 3 4Índice

Variable

5

auxiliar

Iteración 7Vector unidimensional

A 1 3 8 9 5

0 1 2 3 4Índice

Variable auxiliar

ij

3 > 5Falso entonces

Los datos siguen quedando en su

posición

si A[i] > A[j]

i j A[i] A[j]Prueba de Escritorio

1 4 3 5auxiliar

Iteración 8Vector unidimensional

A 1 3 8 9 5

0 1 2 3 4Índice

Variable auxiliar

ij

3 > 5Falso entonces

Los datos siguen quedando en su

posición

si A[i] > A[j]

i j A[i] A[j]Prueba de Escritorio

2 3 8 9auxiliar

Iteración 9Vector unidimensional

A 1 3 8 9 5

0 1 2 3 4Índice

Variable

8

auxiliar

ij

8 > 5Verdadero entonces

Se cambian los valores dentro del vector

si A[i] > A[j]i j A[i] A[j]

Prueba de Escritorio

2 4 8 5auxiliar

2 4 5 8 8

Vector unidimensional

A 1 3 5 9 8

0 1 2 3 4Índice

Variable

8

auxiliar

Iteración 10Vector unidimensional

A 1 3 5 9 8

0 1 2 3 4Índice

Variable

9

auxiliar

ij

9 > 8Verdadero entonces

Se cambian los valores dentro del vector

si A[i] > A[j]i j A[i] A[j]

Prueba de Escritorio

3 4 9 8auxiliar

3 4 8 9 9

Vector unidimensional

A 1 3 5 8 9

0 1 2 3 4Índice

Variable

9

auxiliar

En JAVA quedaría así:

Al correr el programa quedaría así:

BibliografíaFLOREZ FERNANDEZ, H. (2012). “Arreglos, Matrices y Colecciones” en Flórez Fernández, H. Programación Orientada a Objetos usando JAVA. Ecoe Ediciones. España. P. 78 - 80