Está en la página 1de 1

Ordenacin por burbuja. Es un mtodo poco eficiente.

Se basa en comparar elementos adyacentes del vector e intercambiar sus valores, si estn desordenados. Los valores ms pequeos burbujean hacia el inicio del vector (ordenacin ascendente), mientras que los valores ms grandes comienzan a subir hacia la parte final del vector. Por ejemplo, se compara A[1| con A[2]; si estn desordenados se intercambian A[1] con A[2] y as sucesivamente a lo largo del vector. Al terminar la primera pasada, el elemento mayor se encuentra al final y el menor ha ido descendiendo hacia el principio del vector. Se vuelve a hacer una nueva exploracin, comparando elementos consecutivos e intercambiando. Pero esta vez el elemento mayor no se compara (est en su posicin correcta). El vector quedar ordenado cuando se hayan hecho N-1 pasadas. Si los valores del vector son: 80 55 35 21 15 VECTOR ORIGINAL DE TAMAO 5 (N) 55 80 35 21 15 55 35 80 21 15 55 35 21 80 15 55 35 21 15 80 Se necesitaron 4 comparaciones (N-1) para colocar el valor mayor de ltimo. En la segunda pasada ocurrir lo siguiente: 35 55 21 15 80 35 21 55 15 80 35 21 15 55 80 Tercera pasada: 21 35 15 55 80 21 15 35 55 80 Cuarta pasada: 15 21 35 55 80 En total se necesitaron cuatro pasadas para ordenar un vector de 5 elementos. Elaborar un subprograma que ordene un vector por el mtodo de la BURBUJA. Anlisis Parmetros de recibo Tamao del vector: N. El vector: A. Parmetros de envo Vector A ordenado. (Ser parmetro de recibo y de envo) Proceso El arriba explicado. Clase de subprograma: PROCEDIMIENTO. Nombre: ORDENBURBUJA Variables locales I, J: Variables de control de ciclos. AUX: Variable que almacena temporalmente uno de los dos valores a intercambiar. Algoritmo PROCEDIMIENTO ORDENBURBUJA (N, A) REPITE I =1, N-1, 1 REPITE J =1, N-I, 1 SI A[J] > A[J+1] ENTONCES AUX = A[J] A[J] = A[J+1] A[J+1] = AUX FIN_SI FIN_REPITE FIN_REPITE FIN