Métodos de ordenamiento
Para todos los algoritmos se cuenta con la siguiente estructura de datos
Const MAX = 100
A = arreglo[1..MAX] de enteros
Variable N:entero
ORDENAMIENTO DIRECTO. MÉTODO DE BURBUJA.
Ordena los elementos del arreglo usando el método de burbuja. Transporta en cada pasada el elemento más pequeño a la parte izquierda del arreglo Ade N elementos.
Burbuja1(A,N)Inicio Declarar i,j,aux:entero Para i 2 hasta N haga Para j i hasta 2 inc (–1) haga Si (A[j-1]>A[j]) entonces Aux A[j-1] A[j-1] A[j] A[j] aux Fin si Fin para Fin paraFin |
ORDENAMIENTO DIRECTO. METODO DE LA BURBUJA. CONTRARIO AL ANTERIOR.
La lógica de este algoritmo cambia con el anterior, en el hecho de que en cada pasada se lleva el valor mas grande a hacia la parte derecha del arreglo A de N elementos.
Burbuja2(A,N)Inicio Declarari,j,aux:entero Para i 1 hasta N-1 haga Para j 1 hasta N-i haga Si (A[j]>A[j+1]) entonces Aux A[j] A[j] A[j+1] A[j+1] aux Fin si Finpara Fin paraFin |
ORDENAMIENTO DIRECTO CON SEÑAL
Algoritmo que usa el principio de ordenamiento del método de la burbuja, usando una señal para saber si en cada pasada hubo intercambios. Arreglo A de N elementos enteros.
Burbujaconseñal(A, N)Inicio Declarar i,j,aux:entero Declarar band:booleano i 1 Band FALSO Mientras Que (i<=N-1) y (band = FALSO) haga Band VERDADERO Para j 1 hasta N-i haga Si (A[j]>A[j+1]) entonces Aux A[j] A[j] A[j+1] A[j+1] aux Band FALSO Fin si Fin para Fin MQFin |
ORDENAMIENTO POR EL MÉTODO DE LA SACUDIDA (SHAKER SORT)
Este método es una optimización del método de la burbuja. Consiste en mezclar las dos formas como se puede realizar el método de ordenamiento directo. En cada pasada hay dos etapas, el la primera etapa se trasladan los elementosmás pequeños hacia la izquierda almacenando en una variable el último elemento intercambiado. En la segunda etapa, se trasladan los elementos más grandes hacia la parte derecha del arreglo almacenando en otra variable la posición del último elemento intercambiado.
Algoritmo que ordena los elementos del arreglo A, de N elementos, por el método de la sacudida.
Shakersort(A,N) Inicio Declarar i, izq, der, k, aux: entero izq 2 der N k N Repetir Para i der hasta izq inc (-1) haga Si (A[i-1]>A[i]) entonces Aux A[i-1] A[i-1] A[i] A[i] aux k i Fin si Fin para Izq k + 1 Para i izq hasta der haga Si (A[i-1] > A[i]) entonces Aux A[i-1] ...
Regístrate para leer el documento completo.