Aclaro una cosa es el metodo mas simple de ordenamiento pero no es el mas eficaz con esto digo que hay veces que te pueda fallar ya que sirve mas para entender como es el ordenamiento.
Para ordenar un arreglo de forma mas eficaz esta el quick short que por asi decirlo es demasiado mas complicado. Es por ello que primero veamos esta forma para entender luego el otro.
Usamos Frame para mostrar pero si ven el metodo ordenamBurbuja( arreglo ) que es que lo hace lo podran adaptar a consola.
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JTextArea;
/**
*
* @author JONATHAN PALOMINO VILCA
*/
public class Burbuja1 extends JFrame{
public Burbuja1() {
setSize(400, 300);
setLocation(300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JTextArea areaSalida = new JTextArea();
Container contenedor = getContentPane();
contenedor.add(areaSalida);
int arreglo[] = {2, 6, 4, 8, 10, 12, 89, 68, 45, 37};
String salida = "Elementos de datos en su orden original\n";
// anexar los valores originales al String salida
for (int contador = 0; contador < arreglo.length; contador++) {
salida += " " + arreglo[ contador];
}
ordenamBurbuja(arreglo); // ordenar arreglo
salida += "\n\nElementos de datos en orden ascendente\n";
// anexar los valores ordenados del arreglo al String salida
for (int contador = 0; contador < arreglo.length; contador++) {
salida += " " + arreglo[ contador];
}
areaSalida.setText(salida);
}
// ordenar elementos del arreglo con el método burbuja
public void ordenamBurbuja(int arreglo2[]) {
// ciclo para controlar número de pasadas
for (int pasada = 1; pasada < arreglo2.length; pasada++) {
// ciclo para controlar número de comparaciones
for (int elemento = 0;
elemento < arreglo2.length - 1;
elemento++) {
// comparar elementos uno a uno e intercambiarlos si
// el primer elemento es mayor que el segundo
if (arreglo2[ elemento] > arreglo2[ elemento + 1]) {
intercambiar(arreglo2, elemento, elemento + 1);
}
} // fin del ciclo para controlar las comparaciones
} // fin del ciclo para controlar las pasadas
} // fin del método ordenamBurbuja
// intercambiar dos elementos de un arreglo
public void intercambiar(int arreglo3[], int primero, int segundo) {
int almacen; // área temporal de almacenamiento para intercambiar
almacen = arreglo3[ primero];
arreglo3[ primero] = arreglo3[ segundo];
arreglo3[ segundo] = almacen;
}
public static void main(String[] args) {
Burbuja1 obj = new Burbuja1();
obj.show();
}
} // fin de la clase OrdenamBurbuja
Link del proyecto = http://www.mediafire.com/?yhzdmzuyymz






No hay comentarios:
Publicar un comentario