Ordenamiento burbuja

Post on 18-Jul-2015

2.811 views 3 download

Transcript of Ordenamiento burbuja

HISTORIA Determinar con exactitud el origen del ordenamiento

burbuja es un poco complicado, ya que no existeinformación precisa sobre su origen.

Aunque en 1956 en un se encuentra expresado en unarticulo al q llamaron “ordenamiento por intercambio”

Existe una amplia bibliografía de artículos del año 1962donde mencionan tipos de ordenamiento basados eneste patrón, pero ninguno de ellos usando el nombrecomo tal.

Sin evidente origen definitivo del nombre "burbuja“ secierran sus orígenes mediante la consulta de losprimeros artículos de revistas así como textosprofesionales y pedagógicos de esta época.

Obtiene su nombre de la forma con la que suben por lalista los elementos durante los intercambios, como sifueran pequeñas "burbujas".

También es conocido como el método del intercambiodirecto. Dado que solo usa comparaciones para operarelementos, se lo considera un algoritmo decomparación, siendo el más sencillo de implementar.

FUNCIONAMIENTO Funciona revisando cada elemento de la lista que va a

ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada.

SIMULACION

CODIGO class Bsort {

public static void main(String args[]) {

int nums[] = { 99, -10, 100123, 18, -978, 5623, 463, -9, 287, 49 };

int a, b, t;

int dimen;

dimen = 10; // numero de elementos a ordenar

// despliega el arreglo original

System.out.print("El arreglo origial es:");

for(int i=0; i < dimen; i++)

System.out.print(" " + nums[i]);

System.out.println();

// Oredenamos comparando.

for(a=1; a < dimen; a++)

for(b=dimen-1; b >= a; b--) {

if(nums[b-1] > nums[b]) { // si està fuera de orden

// intercambia elementos

t = nums[b-1];

nums[b-1] = nums[b];

nums[b] = t;

}

}

// despliega el arreglo ordenado

System.out.print("El arreglo ordenado es:");

for(int i=0; i < dimen; i++)

System.out.print(" " + nums[i]);

System.out.println();

}

}

DIAGRAMA DE FLUJO N-S