ORDENACIÓN POR SELECCIÓN DIRECTA

July 27, 2017 | Autor: Miguel Sosa | Categoría: Selección
Share Embed


Descripción

ORDENACIÓN POR SELECCIÓN DIRECTA
Es un algoritmo de ordenamiento simple, consiste en buscar el menor elemento de arreglo y colocarlo en la primera posición. Luego su busca el segundo elemento mas pequeño del arreglo y se lo coloca en la segunda posición. El proceso continua hasta que todos los elementos del arreglo hayan sido ordenados.
PRINCIPIOS DEL ALGORITMO
1. Seleccionar el menor elemento del arreglo. 2. Intercambiar dicho elemento con el primero. 3. Repetir los pasos anteriores con los(n-1),(n-2) elementos, y así sucesivamente hasta que este totalmente ordenada.
ALGORITMO
SELECCIÓN (A,N) Este algoritmo ordena los arreglos de un arreglo unidimensional utilizando el método de selección directa. A es un arreglo unidimensional de N elementos (I, menor, k y J variables de tipo entero)
Repetir con I desde 1 hasta N-1
Hacer MENOR ! A[I] y K! I
1.1 Repetir con J desde I+1 hasta N
1.1.1 Si (A[J]< MENOR) entonces
Hacer MENOR ! A[J] y K!J
1.1.2 { Fin del condicional el pasos 1.1.1}
1.2 {Fin del ciclo del paso 1.1}
Hacer A[K]! A[I] y A[I]! MENOR
2. {Fin del ciclo del paso 1}
EJEMPLO
ORIGINAL 34 56 4 10 77 51 93 30 5 52
PRIMER PASADA: 4 56 34 10 77 51 93 30 5 52
SEGUNDA PASADA: 4 5 34 10 77 51 93 30 56 52
TERCER PASADA: 4 5 10 34 77 51 93 30 56 52
CUARTA PASADA: 4 5 10 30 77 51 93 34 56 52
QUINTA PASADA: 4 5 10 30 34 51 93 77 56 52
SEXTA PASADA: 4 5 10 30 34 51 52 77 56 93
SEPTIMA PASADA: 4 5 10 30 34 51 52 56 77 93


static void seleccion(ArrayList a) {
for (int i = 0; i < a.size() - 1; i++) {
int min = i;
for (int j = i + 1; j < a.size(); j++) {
if (a.get(j) < a.get(min)) {
min = j;
}
}
if (i != min) {
int aux = a.get(i);
a.set(i,a.get(min));
a.set(min,aux);
}
}
}


Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.